【问题标题】:Android listselector not visible in custom listviewAndroid listselector 在自定义列表视图中不可见
【发布时间】:2012-06-03 23:33:49
【问题描述】:

我制作了一个包含图像和文本视图的自定义列表。在设置样式时,选择器不可见。使用 setTheme(R.style.rose); 调用样式。在 Listactivity 的 create 方法中作为第一个调用。 但是,如果没有颜色用作背景(或样式中的背景线被注释),则橙色选择器可见。但不是当背景是

列表选择器

<item   android:state_focused="true"
        android:state_pressed="true" 
        android:drawable="@drawable/list_selector_background_transition" />

<item   android:state_pressed="true" 
        android:drawable="@drawable/list_selector_background_pressed" />

<item   android:state_focused="true" 
        android:drawable="@drawable/list_selector_background_focus" />

风格

<style name="rose">
    <item name="android:textColor">@color/pink</item>
    <item name="android:background">@color/rose</item>
    <item name="android:cacheColorHint">@color/rose</item>

    <item name="android:listSelector">@drawable/listitem_selector</item>  
</style>

【问题讨论】:

    标签: android listview listitem


    【解决方案1】:

    Android 首先绘制 ListView 背景以及分隔线。然后,系统绘制列表选择器。最后,ListView 在此之上呈现所有 itemview。因此,将不透明背景设置为 itemviews 时,列表选择器将永远不可见

    http://android.cyrilmottier.com/?p=454

    【讨论】:

    • 您可以通过将drawSelectorOnTop 设置为true (developer.android.com/reference/android/widget/…) 来指定在itemviews 上绘制选择器
    • @Jelle 但是,选择器也会覆盖项目文本(因此,如果您有不透明的选择器,您将看不到您的项目)
    • Jelle 和 Alex 都是对的。就我而言,我有列表视图,其中列表项完全被图像视图覆盖。所以我需要在顶部显示选择器并给出它的不透明。例如:- 颜色 - #80000000(浅黑色)
    猜你喜欢
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多