FillDrawable

介绍:

把任意Drawable转换成基于progress填充的drawable。 progress可以是四个方向:from_left, from_top, from_right, from_bottom。

运行效果:

使用说明:

FillDrawable的背后是PorterDuffColorFilter

// obtain a Drawable object
final Drawable drawable = getDrawable(...);
// initialize bounds
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
// create a FillDrawable
// Note, that you should call \`mutate()\`, otherwise changes made by FillDrawable
// will be reflected in other places where this drawable is used.
// It has to do it Android drawable cache
final FillDrawable fillDrawable = new FillDrawable(FillDrawable.FROM_LEFT, drawable.mutate())
    .setNormalColor(int color)
    .setFillColor(int color);
...
fillDrawable.setFillPercent(float percent);

此外,还提供了一个FillImageView控件来通过XML属性初始化FillDrawable:

app:fiv_normalColor="@color/normal_color"
app:fiv_fillColor="@color/fill_color"
app:fiv_drawable="@drawable/ic_launcher"
app:fiv_from="left" <!-- (left|top|right"bottom) -->
app:fiv_percent="50.0"
已下载
0