我正在为我的进度条使用自定义可绘制对象:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="15dp" />
<solid android:color="@color/light_grey" />
</shape>
</item>
<item android:id="@android:id/progress" >
<clip>
<shape>
<corners android:radius="15dp" />
<solid android:color="@color/indigo" />
</shape>
</clip>
</item>
</layer-list>
它看起来像:
现在,背景出现了一个圆角,但是进度(内部)是直的,我也想把它弄圆,像这样:
我用谷歌搜索但没有找到任何解决方案。
关于如何实现这个圆角进度有什么想法吗?
谢谢!
最佳答案
you can see example of view here
您可以修改缩略图和搜索栏的颜色和大小来执行您想要的操作。
这个解决方案是我能做到这一点的唯一方法。 希望这有帮助
这是我的搜索栏:
<SeekBar
android:id="@+id/simpleProgressBar"
android:layout_width="fill_parent"
android:layout_height="12dp"
android:max="100"
android:progress="0"
android:background="@null"
android:shape="oval"
android:splitTrack="false"
android:progressDrawable="@drawable/progress_background"
android:secondaryProgress="0"
android:thumbOffset="10dp"
android:thumb="@drawable/oval_seekbar_thumb" />
这是(progress_background.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">
<shape android:shape="rectangle">
<corners android:radius="5dp" />
<gradient
android:angle="270"
android:endColor="@color/grey_line"
android:startColor="@color/grey_line" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape android:shape="oval">
<corners android:radius="5dp" />
<gradient
android:angle="270"
android:endColor="@color/blue"
android:startColor="@color/blue" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape android:shape="rectangle">
<corners android:radius="90dp" />
<gradient
android:angle="90"
android:endColor="@color/colorPrimaryDark"
android:startColor="@color/colorPrimary" />
</shape>
</clip>
</item>
这是拇指(oval_seekbar_thumb.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#ffffff" />
<stroke android:color="@color/colorPrimaryDark" android:width="3dp"/>
<size android:height="12dp" android:width="12dp"/>
</shape>
</item>
</selector>
拇指的高度应与搜索栏的高度相同才能正常显示。
关于Android - 如何使用自定义 xml 可绘制对象作为背景在进度条中的运行进度上放置圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40031582/