progressBar = (CcbProgressBar) view.findViewById(R.id.progressBar);
tvProgress = (TextView) view.findViewById(R.id.tv_dlg_progress);
// 得到progressBar控件的寬度
ViewTreeObserver vto = progressBar.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
progressBar.getViewTreeObserver().removeGlobalOnLayoutListener(this);
width = progressBar.getWidth();
MbsLogManager.logD("VersionForceUpdateDialogWrapper -> width: " + width);
}
});
if (null == progressBar) {
return this;
}
MbsLogManager.logD("VersionForceUpdateDialogWrapper -> max: " + max);
MbsLogManager.logD("VersionForceUpdateDialogWrapper -> progress: " + progress);
progressBar.setMax((int) max);
progressBar.setProgress((int) progress);
if (null == tvProgress) {
return this;
}
int downloadProgress = (int)(((double)progress/(double) max)*100);
tvProgress.setText(downloadProgress+"%");
//每一段要移動的距離
scrollDistance = (float) ( width / 100);
// 得到字體的寬度
tvWidth = tvProgress.getWidth();
currentPosition = (int)(scrollDistance * downloadProgress);
MbsLogManager.logD("VersionForceUpdateDialogWrapper -> currentPosition: " + currentPosition);
//做一個平移動畫的效果
if (tvWidth + currentPosition <= width - tvProgress.getPaddingRight()) {
tvProgress.setTranslationX(currentPosition);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。