Android从中间开始水平进度条
我正在开发一个定制的Android小部件,它将正值和负值作为一个条。因为我使用的是股票外观,所以我想我应该扩展Android从中间开始水平进度条,android,android-drawable,android-progressbar,Android,Android Drawable,Android Progressbar,我正在开发一个定制的Android小部件,它将正值和负值作为一个条。因为我使用的是股票外观,所以我想我应该扩展ProgressBar类,并将其用作我的小部件的基础。然而,我似乎找不到一种方法可以通过编程在条本身上获得一个句柄(与整个可绘制或整个画布相反),这样我就可以将Rect的开始设置在条的中间 我想要达到的效果是这样的(显示一个负值,如果它是正值,很明显它会朝相反的方向发展) 我已经重写了进度设置程序,以检查是否存储了负值: private boolean isNegative; @Ov
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();
}
私有布尔值为负;
@凌驾
公共无效设置进度(最终整数进度){
isNegative=进展<0;
setProgress(Math.min(Math.abs(progress),this.getMax());
}
@凌驾
public int getProgress(){
返回(为负?-1:1)*super.getProgress();
}
这真的只是画出了我想不出来的东西。这只需要针对最新的API(截至本帖19页)。回答可能为时已晚,但您可以使用两个
ProgressBar
,使用ProgressBar将第一个设置为从右向左。setRotation(180)编码>然后单独处理它们,当您的状态发生变化时更新两者。回答可能为时已晚,但您可以使用两个ProgressBar
,使用ProgressBar将第一个设置为从右向左。setRotation(180)编码>然后单独处理它们,当您的状态发生变化时更新两者。回答可能为时已晚,但您可以使用两个ProgressBar
,使用ProgressBar将第一个设置为从右向左。setRotation(180)编码>然后单独处理它们,当您的状态发生变化时更新两者。回答可能为时已晚,但您可以使用两个ProgressBar
,使用ProgressBar将第一个设置为从右向左。setRotation(180)编码>然后独立处理它们,当您的状态发生变化时更新它们。这并不是我想要的,但有时简单的黑客攻击并不是一件坏事。虽然听起来很傻,但我甚至没有想到要这样做(而且是完全定制的工作)。谢谢。这不完全是我想要的,但有时候简单的黑客并不是件坏事。虽然听起来很傻,但我甚至没有想到要这样做(而且是完全定制的工作)。谢谢。这不完全是我想要的,但有时候简单的黑客并不是件坏事。虽然听起来很傻,但我甚至没有想到要这样做(而且是完全定制的工作)。谢谢。这不完全是我想要的,但有时候简单的黑客并不是件坏事。虽然听起来很傻,但我甚至没有想到要这样做(而且是完全定制的工作)。谢谢