簡體   English   中英

未在API 19上填充進度欄

[英]Progressbar not filled on API 19

我在運行時動態構建了一個ProgressBar,並且Progressar並非僅在API 19上填充,它在更高的API上可以使用,代表百分比的綠色條不會出現。

為什么在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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM