SlidingDrawer是自SDK 1.5才新加入的,实现Launcher的抽屉效果。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/skin" >
<SlidingDrawer
android:id="@+id/slidingdrawer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:content="@+id/contents"
android:handle="@+id/handle"
android:orientation="vertical"
>
<ImageView
android:id="@+id/handle"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/ic_tip" />
<LinearLayout
android:id="@+id/contents"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_jl" >
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<EditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</SlidingDrawer>
</RelativeLayout>
android:handle="@+id/handle"
控制SlidingDrawer的打开和隐藏 与布局里的开关控件 imageview 也可以是button 对应相同的ID handle.
android:content="@+id/contents"
指明展开的Layout Content 的 id。
android:orientation="horizontal" 水平显示
android:orientation="vertical" 垂直显示
设置打开抽屉的监听事件
setOnDrawerOpenListener
设置关闭抽屉的监听事件
setOnDrawerCloseListener
设置滚动监听
setOnDrawerScrollListener
重要的方法:
animateClose():关闭时实现动画。
close():即时关闭
getContent():获取内容
isMoving():指示SlidingDrawer是否在移动。
isOpened():指示SlidingDrawer是否已全部打开
lock():屏蔽触摸事件。
setOnDrawerCloseListener(SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener):SlidingDrawer关闭时调用
unlock():解除屏蔽触摸事件。
toggle():切换打开和关闭的抽屉SlidingDrawer。