抽屜側滑菜單Drawerlayout-基本使用方法

前幾天一直想做一個側滑菜單的效果,在網上查了一些資料後,決定用drawerlayout來實現這個功能,不說廢話,先上圖:
效果圖:
抽屜側滑效果圖
這其實是一個很簡單的效果,主頁一個按鈕,點擊後菜單會從左側划過來,當然,用手指從左側邊緣劃過,也能把菜單滑出來。

實現方式:

實現方式其實非常簡單,首先,佈局文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <Button
            android:id="@+id/btnOpenMenu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="打開側滑菜單" />

    </LinearLayout>

    <TextView
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#9acf9a"
        android:gravity="center"
        android:text="這裏是菜單佈局" />

</android.support.v4.widget.DrawerLayout>

這裏需要說明一下的是,google官方對佈局文件的要求是:

  • DrawerLayout的第一個子view必須是主頁內容。
  • 第一個子view的寬和高的屬性值必須爲match_parent
  • 抽屜內容(菜單)必須要用gravity,也就是layout_gravity屬性,這裏用start,表示從左到右
  • 抽屜菜單的寬度不能超過320dp

當完成這一步後,不需要在MainActivity文件裏面寫任何代碼,就已經有滑動菜單的效果了,是不是很簡單。當然,如果你要在ActionBar裏面加一個列表的按鈕圖標,你就可以給這個按鈕設置一個點擊事件,當點擊這個按鈕後,菜單側滑出來,實現方法非常簡單,只需要一行代碼,具體的實現步驟如下:

    private Button btnOpenMenu;
    private DrawerLayout drawer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnOpenMenu = (Button) findViewById(R.id.btnOpenMenu);
        drawer = (DrawerLayout) findViewById(R.id.drawer);

        btnOpenMenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawer.openDrawer(Gravity.LEFT);
            }
        });

    }

就一個drawer.openDrawer(Gravity.LEFT);就可以搞定了,是不是很簡單。
當然,你也可以設置一個從右向左滑動的菜單,佈局文件裏面把layout_gravity的值設置爲end就行了,按鈕側滑方法當然就是drawer.openDrawer(Gravity.RIGHT);,是不是很簡單,快去感受一下吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章