gpt4 book ai didi

Android:SeekBar 的可绘制垂直对齐

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:11 24 4
gpt4 key购买 nike

这是我需要为 SeekBar 使用 xml drawable 实现的内容: enter image description here

我尝试了许多不同的变体,这是我能做的最好的。

这是seekbar_thumb_drawable.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >

<solid android:color="@color/accent_color"/>

<size
android:height="20dp"
android:width="20dp" />

</shape>

这是seekbar_drawable.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:id="@android:id/background"
android:height="5dp"
android:top="7.5dp">
<shape
android:shape="rectangle">
<solid android:color="@color/seekbar_background" />
<corners android:radius="2.5dp" />
</shape>
</item>

<item
android:id="@android:id/progress"
android:height="10dp"
android:top="5dp">
<clip>
<shape
android:shape="rectangle">
<solid android:color="@color/seekbar_progress" />
<corners android:radius="5dp" />
</shape>
</clip>
</item>

</layer-list>

API 18 的结果:问题是线条不是垂直居中的。

enter image description here

API 24 的结果:这显示了我想要的显示方式。

enter image description here

是否有任何可能的解决方案使它在 API 16 的所有设备上显示为第一张图片?
我不想使用九色补丁,因为我需要使用资源中的颜色。我尝试了 paddinggravitytopbottominter-shapeline, rectangle 但我找不到解决方案...

最佳答案

这是因为 android:heightandroid:width对于 <item>仅适用于 API 23 及更高版本。如果您将这些属性用于 23 以下的 API,它不会给您报错,而只是简单地忽略它。

在你的例子中,android:height="5dp" , 和 android:height="10dp"没有被应用。

如果你查看相关的docs或者,它说这些是在 API 级别 23 中添加的。

关于Android:SeekBar 的可绘制垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44529489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com