2014-03-13 200 views
0

我有一個程序,我想實現一個滑動菜單。處理導航抽屜

首先我tryed抽屜式導航Navigation Drawer這就是我基本上要因爲:

1)它不推在屏幕上,它覆蓋它 2)當我點擊按鈕彈起離開它打開的菜單 3)當我試圖在屏幕上點擊另一個

但在另一方面:

我不希望有一個按鈕起來離開,我希望用戶從屏幕 點擊一個按鈕每次出現不同的滑動菜單。

我也嘗試過jfeinstein10 Sliding Menu,但它沒有覆蓋屏幕,只是推開屏幕,他們告訴我不可能改變它。但是另一方面,在某些方面它很容易和更好。

因此,任何想法如何1)沒有左圖標/按鈕和2)如何處理導航抽屜的按鈕?

編輯:

我想有一個滑動菜單覆蓋屏幕不推屏幕

回答

0

爲什麼不在Navigation Drawer中設置ViewGroup,比如LinearLayout和addView具有正確的視圖,通過膨脹創建。和removeAllViews()按鈕點擊之後

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View myView = inflater.inflate(R.layout.layout_i_want_in_my_drawer, null, false); 
navigationViewGroup.addView(myView); 
drawerToggle.openDrawer(Gravity.LEFT); 

在actionbardrawertoggle的ondrawerclose():

navigationViewGroup.removeAllViews(); 

此代碼是沒有測試

首先,按照官方教程:https://developer.android.com/training/implementing-navigation/nav-drawer.html

+0

你能給我一個鏈接,看看如何做到這一點? – pap

+0

更新了一下答案 – dumazy

0

有slider.jar的Android庫這裏面提供更好的結果導航抽屜

slide_me = new SimpleSideDrawer(this); 

slide_me.setRightBehindContentView(R.layout.setting_activity); 

和按鈕點擊使用下面的代碼

slide_me.toggleRightDrawer(); // for open drawer from right side 
slide_me.toggleLeftDrawer(); // for open drawer from left side 
+0

你的意思是[簡單抽屜(https://github.com/adamrocker/simple-side-drawer )?因爲我看到它的方式,它不會覆蓋它正在推動屏幕的屏幕,之後我不想讓一個按鈕向左,而不是我想在主屏幕上有一個按鈕來處理導航抽屜 – pap

0

感謝dumazy我發現我的答案的一半,並感謝那 Add button to activity with navigation drawer。訣竅在Gravity中,並創建一個方法,以便在我的onClick監聽器中爲特定按鈕調用它。

然後,另一半隻是代碼刪除的行中提到左圖像按鈕,以便打開導航抽屜。

按鈕的onClick監聽器:

button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      open();   } 
    }); 

方法:

 public void open(){ 
    mDrawerLayout.openDrawer(Gravity.LEFT); 
    }