我正在开发一个自定义Android小部件,它将正值和负值都作为一个条形码。由于我正在寻找股票,我认为我会扩展ProgressBar
类并将其用作我的小部件的基础。但是,我似乎找不到以编程方式获取条形本身的方法(而不是整个画布或整个画布),以便我可以将Rect
的开头设置为酒吧的中间。
我想要实现的效果是这样的(显示负值,如果它是积极的,显然会以另一种方式)。
我已经覆盖了进度设置器,以检查我们是否存储了负值:
private boolean isNegative;
@Override
public void setProgress(final int progress) {
isNegative = progress < 0;
super.setProgress(Math.min(Math.abs(progress), this.getMax()));
}
@Override
public int getProgress() {
return (isNegative ? -1 : 1) * super.getProgress();
}
它真的只是画出我无法弄清楚的东西。这只需要针对最新的API(截至本文的19篇)。
答案 0 :(得分:3)
也许现在回答为时已晚,但您可以使用两个ProgressBar
,将第一个设置为从右到左progressBar.setRotation(180);
,然后单独处理它们,在状态发生变化时更新它们。