【问题标题】:Overwrite default list view highlighted color in AppCompat theme覆盖 AppCompat 主题中的默认列表视图突出显示颜色
【发布时间】:2015-06-29 18:33:27
【问题描述】:

我的应用程序的主主题继承自 Theme.AppCompat,并且我创建了一个选择器,当您按下并聚焦 Lollipop 上的按钮时,该选择器允许产生涟漪效果。

但是,当我回到 4.0 设备时,当我聚焦列表视图项时,它默认返回丑陋的蓝色。我到处寻找定义这种颜色的特征,希望在没有任何运气的情况下覆盖它 - 知道我该怎么做吗?

【问题讨论】:

    标签: android android-listview android-appcompat android-theme


    【解决方案1】:

    将此添加到您的主题中:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        ...
        <item name="android:listViewStyle">@style/ListViewAppTheme</item>
        <item name="android:listViewWhiteStyle">@style/ListViewAppTheme.White</item>
    </style>
     <style name="ListViewAppTheme" parent="Base.Widget.AppCompat.ListView">
        <item name="android:listSelector">@drawable/abc_list_selector_dark</item>
        <item name="android:divider">@drawable/ab_divider_light</item>
        <item name="android:dividerHeight">1px</item>
    </style>
    
    <style name="ListViewAppTheme.White" parent="Base.Widget.AppCompat.ListView.White">
        <item name="android:listSelector">@drawable/abc_list_selector_dark</item>
        <item name="android:divider">@drawable/ab_divider_light</item>
        <item name="android:dividerHeight">1px</item>
    </style>
    

    @drawable/abc_list_selector_dark 更改为您要使用的任何选择器。作为额外的奖励,我添加了如何更改列表视图的分隔线及其高度。

    【讨论】:

    • 你可以为 listSelector 使用颜色选择器,还是必须是实际的可绘制对象?
    • 您可以使用颜色选择器。您仍将其称为@drawable/my_colors_selector,而不是在选择器中使用实际图像,只需使用@drawable/my_color
    • 不幸的是似乎不起作用。列表视图似乎仍然从 SOMEWHERE 获得了令人作呕的默认蓝色,尽管我不知道在哪里。
    【解决方案2】:

    不幸的是,它似乎不起作用。列表视图似乎仍然 从某处得到令人作呕的默认蓝色,虽然 我不知道在哪里。

    我曾经感觉像你,无论是在恶心和愤怒某处部分。但是我设法摆脱了它。

    如果我没记错的话,罪魁祸首应该是android:listChoiceBackgroundIndicator。试试这个:

    <style name="MainTheme" parent="Theme.AppCompat">
    
        <item name="android:listChoiceBackgroundIndicator">@drawable/my_selector</item>
        <item name="listChoiceBackgroundIndicator">@drawable/my_selector</item>
    
    </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      相关资源
      最近更新 更多