5

古き良きAndroid 2.3のナビゲーションドロワーメニューをカスタマイズしようとしています。このために、developer.android.comによる
公式の SampleNavigationDrawer
を使用し 、ActionBarCompatを実装するためのこのチュートリアルを使用します。

android.support.v4.widget.DrawerLayoutでは、次の ListView を使用します。

<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#111"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp"
    android:drawSelectorOnTop="false"
    android:fadingEdge="none"
    android:focusable="false"
    android:saveEnabled="true" />

drawer_list_item.xml を使用:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_selector"
    android:drawableLeft="@drawable/selector"
    android:drawablePadding="16dp"
    android:gravity="center_vertical"
    android:minHeight="48dp"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:textColor="@drawable/text_color_selector" />

bg_selector.xml :

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@color/yellow" />
    <item android:state_pressed="true" android:drawable="@color/red" />
    <item android:state_checked="true" android:drawable="@color/lemon" />
    <item android:state_activated="true" android:drawable="@color/orange" />
    <item android:state_selected="true" android:drawable="@color/green_pastel" />
    <item android:state_active="true" android:drawable="@color/gold" />
    <item android:state_accelerated="true" android:drawable="@color/blue" />
    <item android:state_enabled="true" android:drawable="@color/pink_dark" />
    <item android:drawable="@color/black" />
</selector>

セレクター.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/action_search" />
    <item android:state_activated="true" android:drawable="@drawable/ic_launcher" />
    <item android:drawable="@drawable/ic_drawer" />
</selector>

text_color_selector.xml :

<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true" android:color="@color/blue" />
    <item android:state_activated="true" android:color="@color/green_pastel_dark" />
    <item android:color="@color/white" />
</selector>

問題 :

API14+ の場合は見栄えがしますが、Android 2.3.6 ではセレクターが表示されません。(このスクリーンショットを参照してください)

PS state_activated パラメータは API レベル 11 まで導入されませんでした

4

1 に答える 1

1

代わりに ActionBar Sherlock を使用してみてください。ここにいくつかの良いチュートリアルがあります: http://www.androidbegin.com/tutorial/implementing-actionbarsherlock-side-menu-navigation-with-fragment-tabs-tutorial/

http://techbandhu.wordpress.com/2013/05/25/navigation-drawer-android/

于 2013-10-26T04:52:08.463 に答える