我正在寻找一种在Android上制作进度条填充效果的方法。
我有一个名为FrameLayout
的{{1}},progressBar
内的FrameLayout
名为LinearLayout
。我不知道filledBar
或progressBar
的字面宽度,但我希望filledBar
占用一定数量的filledBar
。我该怎么做? (我以编程方式创建两个栏)
答案 0 :(得分:1)
非常简单,像这样做一个XML布局:
FrameLayout
View // background set to be a custom drawable
TextView // gravity right
在代码中你给它充气并设置drawable:
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);
}
使用您希望的颜色创建的paint
。
这是一个非常粗略的想法,但我希望它足以引导你找到正确的方向。