自定义进度条始终处于不确定模式并显示为正方形

时间:2014-06-04 05:22:27

标签: android progress-bar

我正在尝试使用自定义进度条,但即使我将其设置为false,它仍处于不确定模式,并且进度条是正方形。当我提供layoutparams的宽度和高度时,条形的宽度与我设置的宽度不匹配,而是与高度匹配,使得进度条为正方形。

以下是代码:

    ProgressBar pbRightExtruder = new ProgressBar(this);
    LinearLayout.LayoutParams lpProgressBar = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    lpProgressBar.weight = 1;
    pbRightExtruder.setLayoutParams(lpProgressBar);
    pbRightExtruder.setProgress(50);
    pbRightExtruder.setIndeterminate(false);
    pbRightExtruder.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progressbar));
    pbRightExtruder.setProgressDrawable(getResources().getDrawable(R.drawable.progressbar));
    layoutRightExtruder.addView(pbRightExtruder);

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果您使用weight,请将width设置为0而不是LinearLayout.LayoutParams.MATCH_PARENT。然后weight将正常工作。对于indeterminate问题,请参阅this