Seekbar 样式不适用于较低的 API

Posted

技术标签:

【中文标题】Seekbar 样式不适用于较低的 API【英文标题】:Seekbar Styles not working on lower API's 【发布时间】:2018-09-03 22:12:50 【问题描述】:

我有一个非常奇怪的问题,我使用 android:theme 属性,但它不适用于较低的 API 版本。

这是我的搜索栏:

    <SeekBar
        android:id="@+id/amount"
        android:layout_
        android:layout_
        android:layout_centerVertical="true"
        android:layout_toEndOf="@id/subtract"
        android:layout_toStartOf="@+id/add"
        android:max="0"
        android:theme="@style/AppTheme.SeekBar3" /> 

这是有问题的主题:

<style name="AppTheme.SeekBar3">
    <item name="colorPrimary">@color/colorBuyBlue</item>
    <item name="colorPrimaryDark">@color/colorBuyBlue</item>
    <item name="colorAccent">@color/colorBuyBlue</item>
</style>

它适用于我的模拟器和更高 API 的手机,但不适用于 API 21。

它应该是这样的: https://i.imgur.com/FdnHs2V.png

但它看起来像这样:https://i.imgur.com/ELnLsKn.jpg

【问题讨论】:

这两张图片看起来非常相似,除了颜色。 “看起来像这样”的图像有什么问题?如果只是蓝色,考虑到您的颜色定义都命名为colorBuyBlue,这似乎是合理的 【参考方案1】:

在 Android 中,用于较高 API 级别的设计、小部件甚至颜色在较低 API 中的工作/外观都不同。你不能做任何事情来改变它。如果您想随意使用,则必须选择相应的 API 级别。

您可以始终将 TargetSdkVersion 设置为可用的最新 API 版本。 minSdkVersion 取决于您至少要支持哪个平台。

【讨论】:

以上是关于Seekbar 样式不适用于较低的 API的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg覆盖图像和较低的透明度

自定义 SeekBar 样式 详解

转 为SeekBar滑块设置固定值以及自定义Seekbar,progressbar样式--不错

覆盖较低的有界参数

为啥堆栈会增长到较低的地址? [复制]

firestore firebase storage 以较低的分辨率检索图像