如果背景不透明,ListViewItem 不会突出显示
我有一个带有自定义渐变背景的 ListViewItem。默认选择器不再突出显示这些行。
仅当我将背景设置为透明时,突出显示才有效。如果没有这种改变,我怎样才能获得亮点?
这是我的列表视图:
<ListView android:id="@+id/symbolsListView"
android:layout_width="fill_parent"
android:background="@drawable/transparent_background"
android:layout_height="390dp"
android:divider="@drawable/ui_divider_line"
android:cacheColorHint="#00000000"
android:listSelector="@drawable/blue"
android:drawSelectorOnTop="true"
>
I have a ListViewItem with a custom gradient background. The default selector no longer highlights these rows anymore.
Highlight only works if I set the background to transparent. How can I get the highlight without this change?
Here is my ListView:
<ListView android:id="@+id/symbolsListView"
android:layout_width="fill_parent"
android:background="@drawable/transparent_background"
android:layout_height="390dp"
android:divider="@drawable/ui_divider_line"
android:cacheColorHint="#00000000"
android:listSelector="@drawable/blue"
android:drawSelectorOnTop="true"
>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你的一些状态是聚焦的和 window_focused 的。下面我提到了选择器的代码,试试这个。
希望它有效。
your some states that are focused and window_focused. Below i mentioned the code for selector try this.
Hope it works.
ListView 中的当前选择由您使用“listSelector”属性提供的附加可绘制对象突出显示。
默认情况下,选择器可绘制对象绘制在列表项后面。因此,如果 yout item 的渐变背景是不透明的,则选择器将永远不会显示。
有 2 个解决方案:
The current selection in a ListView is highlighted by an additional drawable that you provide using the "listSelector" attribute.
By default, the selector drawable is drawn behind the list item. Therefore, if the gradient background of yout item is opaque, the selector will never be shown.
There are 2 solutions :
使用
显示带有渐变背景的“按下”状态。Use a
<selector>
to display a "pressed" state with your gradient background.