我希望在单击ListView中的项目时看到突出显示,但它不起作用。我用Google搜索了很长时间来解决这个问题,但没有任何帮助。
我在Android原生中创建列表时没有任何问题。 以下是适用于Android原生项目的布局XML。
<ListView
android:id="@+id/menuList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/img_logo_arkema"
android:layout_below="@+id/img_logo_paladin"
android:background="#ffffffff"
android:choiceMode="singleChoice" />
但是当我在Xamarin.Android项目中创建相同的ListView时,这不起作用。 这是布局的XML,不适用于Xamarin.Android项目。
<ListView
android:id="@+id/menuList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/colorTopDivider"
android:dividerHeight="@dimen/right_menu_divider_size"
android:choiceMode="singleChoice" />
我正在Visual Studio 2015中开发Xamarin.Android。
感谢您的帮助!
答案 0 :(得分:1)
我已经尝试了几个小时,最后自己解决了。
问题是我将颜色设置为列表项布局的背景。 当我删除列表项布局中的背景属性时,它有效!
这是更详细的解决方案。
答案 1 :(得分:0)
是的,基本上你的想法是正确的Passionate.C
。但是你也可以使用选择器更容易,你在xml中定义了一个选择器(在drawble文件夹中)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:drawable/list_selector_background" />
</selector>
然后在listView中调用setSelector()
并传递自己的选择器。这是一个更可定制的解决方案,因为您还可以轻松控制listView项目的其他状态