我正在寻找一种在 Android 上制作进度条填充效果的方法。
我有一个名为 progressBar
的 FrameLayout
,在这个 FrameLayout
内部是一个名为 filledBar
的 LinearLayout
。我不知道 progressBar
或 filledBar
的文字宽度,但我希望 filledBar
占用一定量的 进度条
。我该怎么做? (我正在以编程方式创建两个栏)
最佳答案
很简单,做一个像这样的XML布局:
FrameLayout
View // background set to be a custom drawable
TextView // gravity right
在代码中,您将其膨胀并设置可绘制对象:
private CustomDrawable drawable;
drawable = new CustomDrawable(context);
View v = layout.findViewById(...
v.setBackground(drawable);
然后更新百分比
drawable.setLevel(10); // for 10% for example
当您在draw方法中创建自定义drawble时,只需调用drawRect即可
{
canvas.drawRect(0, 0, getLevel()/100*canvas.getWidth(), canvas.getHeight, paint);
}
使用您想要的颜色创建的油漆
。
这是一个非常粗略的想法,但我希望它足以引导您走向正确的方向。
关于java - Android 进度条大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393082/