मैं बस अपना सैमसंग गैलेक्सी एस 2 पर ठीक काम कर रहा मेरी एचटीसी जिंजरब्रेड चल इच्छा पर आईसीएस लेकिन नहीं चल स्लाइडिंग मेनू के साथ एक ही समस्या थी।
मैंने स्लाइडिंग मेनू को लागू करने के लिए उसी विधि का उपयोग किया लेकिन मुझे पता चला कि एक अन्य कार्यान्वयन ने समस्या हल की है।
इसके बजाय मैन्युअल रूप से अपनी गतिविधि के लिए मेनू संलग्न की
:
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);
मैं SlidingMenu पुस्तकालय से स्लाइडिंग गतिविधियों में से एक के आधार पर अपना गतिविधि का विस्तार करने के लिए चुना है। मेरे मामले में, मेरा गतिविधि पहली बार में FragmentActivity
विस्तार था, लेकिन मैं द्वारा SlidingFragmentActivity
बदल दिया तो फिर तुम onCreate
विधि या अपनी गतिविधि दुर्घटना होगा अंदर behindView स्थापित करना चाहिए।
setBehindContentView(R.layout.slidingmenu); //Replace with the layout of your menu
यह समस्या को ठीक करना चाहिए।
यहाँ मेरी गतिविधि का एक नमूना कोड है:
public class MainActivity extends SlidingFragmentActivity {
SlidingMenu menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Main view layout for the activity
setContentView(R.layout.activity_listing);
// set the Behind View : REQUIRED (replace with your menu's layout)
setBehindContentView(R.layout.slidingmenu);
menu = getSlidingMenu();
//Now you can customize your sliding menu if you want
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.slidingmenu_shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
आप देखेंगे कि इस समाधान के साथ आप
mSlidingMenu.setMenu(firstPage);
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);
मैं सभी स्रोत कोड का विश्लेषण किया नहीं किया है कॉल करने के लिए की जरूरत नहीं है SlidingMenu लाइब्रेरी का हो सकता है लेकिन हो सकता है कि वर्तमान attachToActivity
विधि कुछ मामलों में छोटी है और लाइब्रेरी द्वारा प्रदान की गई विशेष गतिविधियों का उपयोग करते समय उन बग्स प्रकट नहीं होते हैं।
संपादित करें: उन लोगों के लिए ठीक है जो स्लाइडिंगमेनू लाइब्रेरी और एक्शनबैरशॉक (एबीएस) के साथ काम कर रहे हैं। सबसे पहले आपको यह सुनिश्चित करना होगा कि स्लाइडिंगमेनू लिब में एबीएस का संदर्भ दिया गया हो। इस तरह, आप एबीएस द्वारा स्लाइडिंगमेनू द्वारा प्रदान की गई गतिविधियों की कक्षाओं का विस्तार करने में सक्षम होंगे।
उदाहरण मैं दोनों ABS और स्लाइडिंग मेनू के साथ एक FragmentActivity उपयोग करना चाहते हैं: आप आप आवेदन में से
class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase
और फिर फिसलने मेनू पुस्तकालय
class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase
में बदलना होगा, सामान्य रूप से SlidingFragmentActivity
का उपयोग करें।
यहाँ मेरी एप्लिकेशन का कोड है, यह एक मैं पोस्ट की तरह लेकिन एबीएस समर्थन के साथ है:
public class MainActivity extends SlidingFragmentActivity {
ActionBar mActionBar;
SlidingMenu menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listing); //Layout of the above view
/*
* ABS initialization
*/
mActionBar = getSupportActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
mActionBar.setDisplayHomeAsUpEnabled(true);
/*
* Sliding menu initialization
*/
menu = getSlidingMenu();
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.slidingmenu_shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
/* This line initializes the way the sliding menu is working
if you set the boolean to true, the ActionBar will slide along with the content.
if you set to false, only the content will slide and the ActionBar will not move */
setSlidingActionBarEnabled(true);
// set the Behind View
setBehindContentView(R.layout.slidingmenu); //Menu view
ठीक है, ** SlidingActivity से विस्तार ** सही काम करता है, लेकिन वहाँ एक बात मैं can' है टी करने के लिए: सामग्री बार के साथ कार्रवाई बार स्लाइड। इसे मेनू में कैसे संलग्न करें? मुझे कोई विधि नहीं मिली (उदाहरण के लिए attachMode (int)) ... –
'setSlidingActionBarEnabled (true) को कॉल करने का प्रयास करें;' मेनू अनुकूलन के बाद, यह एक्शनबार को स्लाइड करेगा। इस सेटिंग के लिए डिफ़ॉल्ट मान गलत है, यही कारण है कि केवल सामग्री स्लाइड। – FabriceMk
अगर समाधान आपके लिए काम करता है तो क्या आप जवाब स्वीकार कर सकते हैं? – FabriceMk