ani*_*kvn 5 android listviewitem android-2.3-gingerbread navigation-drawer
我尝试为旧的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" />
Run Code Online (Sandbox Code Playgroud)
with 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" />
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
对于API14 +它看起来很棒但是在android 2.3.6选择器上没有显示.(见此截图)
直到API级别11才引入PS state_activated参数