您可以使用JFeinstein滑動菜單輕鬆添加任意數量的菜單級別。這個想法是使用滑動菜單作爲主滑動菜單的左側或右側滑動視圖等等。完整的帶有註釋和輸出的2級菜單代碼被添加,使事情更清晰。
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// dummy views - content view
TextView content = new TextView(this);
content.setBackgroundColor(Color.WHITE);
content.setText("content");
// Menu view
TextView menu = new TextView(this);
menu.setBackgroundColor(Color.GREEN);
menu.setText("menu");
// 2nd level menu view
TextView subMenu = new TextView(this);
subMenu.setBackgroundColor(Color.LTGRAY);
subMenu.setText("submenu");
//configure sliding menu
SlidingMenu sm = getSlidingMenu();
sm.setMode(SlidingMenu.SLIDING_WINDOW);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
sm.setBehindOffset(80);
sm.setBehindScrollScale(0.25f);
sm.setFadeDegree(0.25f);
//Another sliding menu - for 2nd level or sub menu
SlidingMenu leftSlidingView = new SlidingMenu(this);
leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW);
leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
leftSlidingView.setBehindOffset(80);
leftSlidingView.setBehindScrollScale(0.25f);
leftSlidingView.setFadeDegree(0.25f);
//==== Required instruments has been created ;) lets put them at right places
// setting menu and sub-menu view
leftSlidingView.setContent(menu); // at center of left sliding view
leftSlidingView.setMenu(subMenu); // at left of left sliding view
//set content view
setContentView(content); // at center of main sliding view
// finally, set leftSlidingView as behind content view of main view
setBehindContentView(leftSlidingView); // at left of main sliding view
}
}
這裏是輸出:
注:您需要導入JFeinstein滑動菜單庫,並從SlidingFragmentActivity拓展業務。
想象第二個滑動菜單是新菜單,因此將其他滑動菜單分配給第二個滑動菜單,就像創建雙滑動菜單一樣,有什麼困難? – Daler 2013-03-07 06:30:51
@Daler I dint試試這個bcox我希望二級菜單是一個二級菜單,而不是新菜單,我的意思是當我點擊第一個菜單選項時,它應該變得模糊並且進入第二個菜單後面。 – 2013-03-07 06:34:42
@Daler能否以更清晰的方式提出您的第一條評論? – 2013-03-07 07:22:59