最近老大讓我試試用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
(記得把梯子帶上)