这就是我的 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。
这就是发生这种情况的时候。
所有 listItems 都以白色突出显示并且一直保持不变,除非以正常方式单击另一个 listItem(即使我关闭并重新打开 NavDrawer,整个列表仍然以白色突出显示)。
不过,这在 Android 4.3 中不会发生。
它只发生在 Android 2.3.3 中(可能发生在所有 pre-ICS 设备上)。
兼容性库有问题吗?
这是我在 values-v11 文件夹中唯一的附加代码,因为“activatedBackgroundIndicator”在 Android 2.3 中不可用。
<resources>
<style name="listViewActivatedStyle">
<item name="android:background">?android:attr/activatedBackgroundIndicator</item>
</style>
</resources>
Android 2.3 无法访问上述代码。这是它给出这个问题的原因吗?还是兼容性库中存在错误?
任何建议将不胜感激。