昨天发现谷歌提供Navigation这么一个东西。可以实现侧滑菜单……
然后看了会文档……不知道是我没看全还是什么原因,感觉文档写的还是挺不错的,但是我也写下好了。
首先。上布局文件。
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
昂。没错。这就是官方的布局文件。
我要说的就是。这里的LIstView可以换成任意的Layout。但是要注意的就是它的宽不要超过320dp。高度必须match_parent
昂。然后你就可以运行了。会有一个侧滑菜单的,但是里面就是黑黑的一片。什么都没有。
然后就是注意一些属性了。
layout_gravity 这个属性 昂,其实这个我没太看懂,就直接上官方原话好了。。抽屉视图(视图)必须指定它的水平重力与android:layout_gravity属性。支持从右到左的语言(RTL),指定值与“开始”而不是“左”(右边的抽屉里出现时,布局是RTL)。
然后关于侧滑菜单里面的一些操作就可以写在Java文件中了。
我在说下FrameLayout的使用好了。
其实这个我还不太懂。只是知道让Activity继承FragmentActivity然后使用如下代码
FragmentManager fragmentManager = getSupportFragmentManager();
HomeFragment homeFragment = new HomeFragment();
fragmentManager.beginTransaction().replace(R.id.framelayout, homeFragment).commit();
就可以吧HomeFragment添加到这个FrameLayout里面了。
昂。大概也就这些。哦。还有打开和关闭。。
打开:
mDrawerLayout.openDrawer(mLeftMenu);
mDrawerLayout就是DrawerLayout这个控件。然后mLeftMent就是ListView这个控件。。
关闭
mDrawerLayout.closeDrawers();
示例代码: 点击打开链接