如何使用android中的进度条填充图像
作者:互联网
我正在研究一个项目,它需要填写图像.意味着我想将图像形状用作进度条.我不知道如何使用自定义进度条.这是一个图像,它是一个图像按钮.
所以这是进度为100%的时候:
这为0%的进展:
解决方法:
您需要了解可绘制资源.
Drawable Resources | Android Developers
您可以使用图层列表和Clip Drawable执行此操作.
首先,我们来谈谈关卡.每个drawable都有一个从0到10000的级别.该级别可用于修改drawable的外观.
让我们从Clip Drawable开始吧. Clip Drawable将根据其级别剪切drawable.这对于进度栏风格很有用.我假设你想要从灰色的心脏底部向上画出红色的心脏.
/res/drawable/red_heart_clip.xml
<?xml version="1.0" encoding="utf-8"?>
<clip
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/red_heart"
android:clipOrientation="horizontal"
android:gravity="bottom"/>
既然你已经在向上显示,你想要将灰色的心显示为背景,这样看起来灰心变红了.您可以使用图层列表覆盖两个drawable.
/res/drawable/progress_heart.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/grey_heart"/>
<item android:drawable="@drawable/red_heart_clip"/>
</layer-list>
现在,您将此drawable分配给视图的背景.它也可能是ImageView的src.
<View
android:background="@drawable/progress_heart"
...
现在您可以像这样设置drawable的级别:
int level = 100 * pct; // pct goes from 0 to 100
view.getBackground().setLevel(level)
哦,顺便说一句,你甚至不需要ProgressBar.
标签:android,android-studio,android-progressbar,fill 来源: https://codeday.me/bug/20190717/1487641.html