android - 在 AppCompat 主题中覆盖默认 ListView 突出显示的颜色

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

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

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

最佳答案

将此添加到您的主题中:

<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 更改为您要使用的任何选择器。作为额外的好处,我添加了如何更改 ListView 的分隔线及其高度。

关于android - 在 AppCompat 主题中覆盖默认 ListView 突出显示的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31123007/

相关文章:

android - 如何获得 android 应用程序的最低硬件要求

安卓 : How can i achieve Listview similar to 'today in history' app?

Android 溢出按钮自定义图标不适用于 API < 5.0

android - 使用 Robolectric 和 AppCompat 运行 Gradle 测试导致 NullPointerException

java - 自定义 ListView 中的空指针异常 View 持有者

android - AppCompat 工具栏的 colorControlNormal 正在被缓存

android - 调整文本按钮中的文本大小

java - 如何使用 AES 将字符串加密为仅包含特定字符的字符串?

java - Libgdx 动画不起作用

Android Media Player 无法播放多个音频文件