Java API 19中未填写进度条
我在运行时动态构建一个ProgressBar,Progressar并不仅仅在API 19上填充,它在更高的API上工作,代表百分比的绿色条不会出现 为什么它在API 19上不起作用Java API 19中未填写进度条,java,android,progress-bar,Java,Android,Progress Bar,我在运行时动态构建一个ProgressBar,Progressar并不仅仅在API 19上填充,它在更高的API上工作,代表百分比的绿色条不会出现 为什么它在API 19上不起作用 private ProgressBar drawProgressBar(MatiereProgression mat) { ProgressBar progress = new ProgressBar(mContext, null, R.style.Widget_AppCompat_Progr
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;
}
我发现了这个bug,它是最后几行,在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);