最近老大让我试试用Drawerlayout去做侧滑效果,不要再用什么鬼popoupwindow之类的了。
我惆怅的想了想,用官方的应该会比较给力,于是,drawerlayout用起。
感觉用起来还是挺方便的,稍微注意一点东西就好了。
先循例来一下代码:
<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="left"<!-- 这里就决定了侧滑从那一方向出来,可以是左右 --></span>
android:background="#111"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
使用drawerlayout有几个规则:
1、一定要有一个内容的布局以及一个侧滑的布局,就两个布局组成这个格式。
2、如果你想侧滑布局中控件自适应宽度,那么所有的控件宽度都需要设为match_parent,不然的话,你试试设定一个例如"150dp”的宽度值,你会感觉到drawerlayout的恶心之处(可能这也是它的特点)。
一些常用函数方法:
DrawerLayout dl_main;//整体的drawerlayout布局
dl_main.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); //关闭滑动打开侧滑手势
if(dl_main != null){ if(dl_main.isDrawerOpen(Gravity.RIGHT)){//若侧滑还没有关闭则关闭 dl_main.closeDrawer(Gravity.RIGHT); } }
当然更多详情可以去官网查看,这是最官方的。
http://www.android-doc.com/reference/android/support/v4/widget/DrawerLayout.html
(记得把梯子带上)