最近在研究Lanucher ,看瞭源碼,發現瞭SlidingDrawer 這個類,也就是所謂的”抽屜”類。它的用法很簡單,要包括handle ,和content .
handle 就是當你點擊它的時候,content 要麼抽抽屜要麼關抽屜。別的不多說瞭,具體步驟如下.
1.新建Android 工程,命名為SlidingDrawer .
2.準備素材,在這裡我的圖標是用Launcher2 裡面的圖標,放在drawable-hdpi 文件夾目錄結構如下:
3.設置main.xml 佈局:代碼如下:
view plaincopy to clipboardprint?
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:background=”#808080″
>
<SlidingDrawer
android:id=”@+id/slidingdrawer”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:orientation=”vertical”
android:handle=”@+id/handle”
android:content=”@+id/content”>
<Button
android:id=”@+id/handle”
android:layout_width=”88dip”
android:layout_height=”44dip”
android:background=”@drawable/handle”
/>
<LinearLayout
android:id=”@+id/content”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:background=”#00ff00″>
<Button
android:id=”@+id/button”
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>
</LinearLayout>
4.設置handle 圖標的樣式,在drawable 裡添加handle.xml ,代碼如下:
view plaincopy to clipboardprint?<?xml version=”1.0″ encoding=”utf-8″?>
<selector xmlns:android=”http://schemas.android.com/apk/res/android”>
<item android:state_window_focused=”false” android:state_enabled=”true” android:drawable=”@drawable/handle_normal” />
<item android:state_pressed=”true” android:drawable=”@drawable/handle_pressed” />
<item android:state_focused=”true” android:state_enabled=”true” android:drawable=”@drawable/handle_focused” />
<item android:state_enabled=”true” android:drawable=”@drawable/handle_normal” />
<item android:state_focused=”true” android:drawable=”@drawable/handle_focused” />
</selector>
5.運行之。將會得到如下效果:
<P style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDI