API 19 上的进度条未填充
Progressbar not filled on API 19
我正在运行时动态构建 ProgressBar,Progressar 仅在 API 19 上未填充,它适用于更高的 APIs,代表百分比的绿色条不出现。
为什么它在 API 19 上不起作用?
private ProgressBar drawProgressBar(MatiereProgression mat) {
ProgressBar progress = new ProgressBar(mContext, null, R.style.Widget_AppCompat_ProgressBar_Horizontal);
LinearLayout.LayoutParams progressLayout = new LinearLayout.LayoutParams(0, dpToPx(4));
progressLayout.weight = 11;
progressLayout.gravity = Gravity.CENTER_VERTICAL;
progress.setLayoutParams(progressLayout);
progress.setIndeterminate(false);
progress.setMax(100);
progress.setMinimumHeight(0);
progress.setMinimumWidth(150);
progress.setProgress(mat.mProgress);
progress.setProgressDrawable(ContextCompat.getDrawable(mContext, R.drawable.progressbar));
return progress;
}
我发现了这个错误,它是最后几行,在 API 19 你需要关心 "setProgressDrawable" 和 "setProgress" 之间的行顺序,它对我有用。
progress.setLayoutParams(progressLayout);
progress.setIndeterminate(false);
progress.setMax(100);
progress.setProgressDrawable(ContextCompat.getDrawable(mContext, R.drawable.progressbar));
progress.setMinimumHeight(0);
progress.setMinimumWidth(150);
progress.setProgress(mat.mProgress);
我正在运行时动态构建 ProgressBar,Progressar 仅在 API 19 上未填充,它适用于更高的 APIs,代表百分比的绿色条不出现。
为什么它在 API 19 上不起作用?
private ProgressBar drawProgressBar(MatiereProgression mat) {
ProgressBar progress = new ProgressBar(mContext, null, R.style.Widget_AppCompat_ProgressBar_Horizontal);
LinearLayout.LayoutParams progressLayout = new LinearLayout.LayoutParams(0, dpToPx(4));
progressLayout.weight = 11;
progressLayout.gravity = Gravity.CENTER_VERTICAL;
progress.setLayoutParams(progressLayout);
progress.setIndeterminate(false);
progress.setMax(100);
progress.setMinimumHeight(0);
progress.setMinimumWidth(150);
progress.setProgress(mat.mProgress);
progress.setProgressDrawable(ContextCompat.getDrawable(mContext, R.drawable.progressbar));
return progress;
}
我发现了这个错误,它是最后几行,在 API 19 你需要关心 "setProgressDrawable" 和 "setProgress" 之间的行顺序,它对我有用。
progress.setLayoutParams(progressLayout);
progress.setIndeterminate(false);
progress.setMax(100);
progress.setProgressDrawable(ContextCompat.getDrawable(mContext, R.drawable.progressbar));
progress.setMinimumHeight(0);
progress.setMinimumWidth(150);
progress.setProgress(mat.mProgress);