我有进度条视图,我已应用
progressBar.setPadding(300,0,0,0);
当我触摸progressBar时,它应该恢复到正常视图,这是在应用填充查看之前。
progressBar.setPadding(0,0,0,0);
尝试使用上面的填充,但是视图没有像应用填充之前那样反映到原始大小
有任何建议如何实现这一点。
答案 0 :(得分:1)
在调整之前,您假设所有边上的填充均为零。最好在调整之前保存现有的填充值,以便可以返回,即:
int mLeft, mTop, mRight, mBottom;
if(isFirstPeriodEmpty) {
mLeft = smsProgressBar.getPaddingLeft();
mTop = smsProgressBar.getPaddingTop();
mRight = smsProgressBar.getPaddingRight();
mBottom = smsProgressBar.getPaddingBottom();
smsProgressBar.setPadding(300, 0, 0, 0);
} else {
//Reset padding values
smsProgessBar.setPadding(mLeft, mTop, mRight, mBottom);
}
HTH
答案 1 :(得分:0)
玩得开心并制作一个名为ToggleProgressBar的自定义进度条,它可以在两个级别的填充之间切换?或者只是将setPadding恢复为旧值?
答案 2 :(得分:0)
您可以尝试在更改填充后调用invalidate().. progressBar.invalidate()