这是我的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的外观。
问题情节:我按住任何listItem,然后向上或向下拖动我的手指(同时仍然按住)向另一个listItem。
这就是发生这种情况的时候。
所有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无法访问上述代码。这是它给出这个问题的原因吗?或者兼容性库中存在错误?
任何建议都将深受赞赏。
答案 0 :(得分:5)
尝试添加
android:cacheColorHint="@null"
到列表