在ProgressDialog中更改progressBar颜色

时间:2014-06-28 13:46:16

标签: android progressdialog android-progressbar

我只想在ProgressDialog(水平样式)中更改progressBar的颜色。所以我创建了这个自定义形状的xml文件

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
    <shape>
        <corners android:radius="3dip" />
        <gradient
                android:startColor="#ff9d9e9d"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.75"
                android:endColor="#ff747674"
                android:angle="270"
        />
    </shape>
</item>

<item android:id="@android:id/progress">
    <clip>
        <shape>
             <corners android:radius="3dip" />
             <size android:height="3dip"/>              
            <gradient
                android:startColor="#33FF33"
                android:endColor="#008000"
                android:angle="270" />
        </shape>
    </clip>
</item>
</layer-list>

这是结果(在Android 4.4下)

Custom progress bar

它看起来像Android 2.x.我希望它像Android 4.x一样薄,就像这样:

default progressbar

我也尝试设置<size android:height="3dip">但没有效果。

有什么想法吗?提前谢谢!

3 个答案:

答案 0 :(得分:0)

尝试在布局xml文件中设置指定进度条

的高度
<ProgressBar
    android:id="@+id/progBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="8dp"   <!-- THIS WILL SET HEIGHT OF PROGRESS BAR -->
    android:layout_centerHorizontal="true"
    android:layout_margin="10dp"
    android:max="100"
    android:progressDrawable="@drawable/customprogressbar" />

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
    <corners android:radius="3dip" />
    <size android:height="8dp" />
    <gradient
            android:startColor="#ff9d9e9d"
            android:centerColor="#ff5a5d5a"
            android:centerY="0.75"
            android:endColor="#ff747674"
            android:angle="270"
    />
</shape>
</item>

 </layer-list>

希望这有帮助

答案 1 :(得分:0)

您可以使用LayoutParams

        ProgressBar progressBar = new ProgressBar(MainActivity.this, null,          android.R.attr.progressBarStyleHorizontal);

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(300, 10);

        progressBar.setLayoutParams(params);
        LinearLayout test = new LinearLayout(getApplicationContext());
        test.addView(progressBar);
        setContentView(test);

答案 2 :(得分:0)

你可以使用item的标签, 顶部,底部可以改变物品的高度。

<thor-dialog-button dialog_id="add-button"></thor-dialog-button>
<paper-dialog id="add-button">
  <h2>"Hello"</h2>
  <p>"World"</p>
</paper-dialog>