我在Dribble上通过Oleg Frolov遇到了这个应用程序概念。
实现看起来非常基本,使用水平ScrollView和触发揭示动画的按钮。
我想知道: -
如何实现垂直ProgressBar作为背景 倒计时活动
如何同步ProgressBar的进度,以及TextView的文本更改与计时器/系统时钟。
答案 0 :(得分:1)
这个project向您展示了如何实现这样的进度条。
答案 1 :(得分:1)
使用自定义drawable非常简单,不需要使用库。
下面是一个关于如何操作的 UNTESTED 示例。
public class CustomDrawable extends Drawable {
private final int color1;
private final Paint paint;
float level;
public CustomDrawable(int color1, int color2) {
this.color1 = color1;
paint = new Paint();
paint.setColor(color2);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
}
@Override protected boolean onLevelChange(int level) {
invalidateSelf();
return true;
}
@Override public void draw(Canvas canvas) {
canvas.drawColor(color1);
level = getLevel() / 100f;
canvas.drawRect(
0,
canvas.getHeight() * level, // tweak this line if not drawing properly
canvas.getWidth(),
canvas.getHeight(), paint);
}
@Override public void setAlpha(int alpha) {
}
@Override public void setColorFilter(ColorFilter colorFilter) {
}
@Override public int getOpacity() {
return 0;
}
}
在背景视图上的只需使用这个drawable:
background.setBackground(new CustomDrawable(color1, color2));
然后更新值u call
background.getBackground().setLevel(... between 0-100...);