2013-01-01 22 views
7

मेरे पास एक अभिभावक वर्ग है जो स्लाइडिंगमेनू का उपयोग करता है। और अभिभावक वर्ग का विस्तार करने वाले बच्चे होम आइकन पर स्लाइडिंग मेनू दिखाते हैं।गतिविधि में स्लाइडिंगमेनू को अक्षम करें

बाल कक्षाओं में स्लाइडिंग मेनू को कैसे अक्षम करें?

कोड जनक वर्ग: बच्चे कक्षा के लिए

public class BCFragmentActivity extends SlidingFragmentActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     setSlidingActionBarEnabled(true); 

     setBehindContentView(R.layout.slide_menu); 

     getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width); 
     getSlidingMenu().setShadowDrawable(R.drawable.shadow); 
     getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width); 
     getSlidingMenu().setBehindScrollScale(0.25f); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      toggle(); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

} 

कोड:

public class SettingsPagerActivity extends BCFragmentActivity { 

    private ActionBar actionBar; 
    private ViewPager settingsPager; 
    private Tab profilesTab; 
    private Tab accountsTab; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_settings_pager); 


     actionBar = getSupportActionBar(); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     settingsPager = (ViewPager) findViewById(R.id.settingsPage); 
     settingsPager.setOnPageChangeListener(pageChangeListener); 

     FragmentManager fm = getSupportFragmentManager(); 

     profilesTab = actionBar.newTab() 
       .setText("Profile") 
       .setTabListener(tabListener); 
     accountsTab = actionBar.newTab() 
       .setText("Account") 
       .setTabListener(tabListener); 

     actionBar.addTab(profilesTab); 
     actionBar.addTab(accountsTab); 

    } 

    ActionBar.TabListener tabListener = new ActionBar.TabListener() { 

     @Override 
     public void onTabSelected(Tab tab, FragmentTransaction ft) { 
      settingsPager.setCurrentItem(tab.getPosition()); 
     } 

     @Override 
     public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onTabReselected(Tab tab, FragmentTransaction ft) { 
      // TODO Auto-generated method stub 

     } 

    }; 

    ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener() { 

     @Override 
     public void onPageSelected(int position) { 
      super.onPageSelected(position); 
      actionBar.setSelectedNavigationItem(position); 
     } 


    };  

} 
+1

पोस्ट यह कभी हल हो गया था? –

+1

में

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } 
Signcodeindie

उत्तर

0

अधिभावी onBackPressed प्रयास करें() अपने बच्चे गतिविधि में।

@Override 
public void onBackPressed() { 
this.finish(); 
overridePendingTransition(0, 0); 
} 
13

मैं एक तरह से नहीं सोच सकते हैं कि यह "को निष्क्रिय करने के लिए", लेकिन आप बच्चे को कक्षा में फोन करके कार्यक्षमता के सभी को हटा सकते हैं

getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); 

इस के लिए किसी भी इशारा पता लगाने को निष्क्रिय कर देगा अपने स्लाइडिंग मेनू।

actionBar.setDisplayHomeAsUpEnabled(true); 

और इसे संभाल के रूप में यदि आप एक SlidingMenu की जरूरत नहीं है: आप एक एक्शन बार है, तो onCreate में हमेशा की तरह कर

कुछ कोड
+0

कि चाल है! पुनः सक्षम करने के लिए मैं SlidingMenu.TOUCHMODE_MARGIN का उपयोग करता हूं – speedynomads