Android Launcher抽屜類SlidingDrawer的使用!

openkk 12年前發布 | 22K 次閱讀 Android Android開發 移動開發

SlidingDrawer 這個類,也就是所謂的"抽屜"類。它的用法很簡單,要包括 handle ,和 content .

 

handle 就是當你點擊它的時候,content 要么抽抽屜要么關抽屜。別的不多說了,具體步驟如下.

 

1.新建Android 工程,命名為SlidingDrawer .

 

2.準備素材,在這里我的圖標是用Launcher2 里面的圖標,放在drawable-hdpi 文件夾目錄結構如下:

 

 

Android Launcher抽屜類SlidingDrawer的使用!

 

3.設置main.xml 布局:代碼如下:

<?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 ,代碼如下:
<?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.運行之。將會得到如下效果:

 

 

 

的比較簡單呵呵,如果想深入了解,大家看Launcher 源碼吧!

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!