Android 2.3中的导航抽屉选择问题

时间:2013-09-25 13:58:13

标签: android actionbarsherlock navigation-drawer

这是我的NavigationDrawer列表项的定义方式。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="?android:attr/spinnerDropDownItemStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:padding="15dp">

    <ImageView
        android:id="@+id/drawer_list_item_icon"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:adjustViewBounds="true" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical|left"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/drawer_list_item_title"
            style="?android:attr/spinnerDropDownItemStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:textColor="#00FFFF"
            android:singleLine="true" />

        <TextView
            android:id="@+id/drawer_list_item_subtitle"
            style="?android:attr/spinnerDropDownItemStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:singleLine="true"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>

</LinearLayout>

我正在使用ActionBarSherlock库以及 SherlockNavigationDrawer

在我的Android 4.3设备中,一切都运行良好。

但在我的2.3.3设备中,我遇到了一个奇怪的问题。

这是初始NavigationDrawer的外观。

enter image description here

问题情节:我按住任何listItem,然后向上或向下拖动我的手指(同时仍然按住)向另一个listItem。

这就是发生这种情况的时候。

enter image description here

所有listItem都以白色突出显示 ,它仍然像是,直到并且除非以正常方式单击另一个listItem(即使我关闭并重新打开NavDrawer,仍然整个列表仍以白色突出显示。

虽然在Android 4.3中不会发生这种情况。

仅在Android 2.3.3中发生(可能在所有ICS之前的设备上发生)。

兼容性库是否存在问题?

这是我在values-v11文件夹中唯一的附加代码,因为Android 2.3中没有“activatedBackgroundIndicator”。

<resources>
    <style name="listViewActivatedStyle">
        <item name="android:background">?android:attr/activatedBackgroundIndicator</item>
    </style>
</resources>

Android 2.3无法访问上述代码。这是它给出这个问题的原因吗?或者兼容性库中存在错误?

任何建议都将深受赞赏。

1 个答案:

答案 0 :(得分:5)

尝试添加

android:cacheColorHint="@null"

到列表