删除android进度条中的进度条背景

时间:2014-06-15 19:58:57

标签: android progress-bar

如何删除灰色背景并仅在进度条中显示蓝色进度条。

enter image description here

2 个答案:

答案 0 :(得分:3)

我已经回答了一个类似要求的问题:


结果:

Result

要删除它,只需按ID搜索背景并尝试隐藏它就不起作用。要删除背景,我必须创建系统版本的相同drawble并删除背景项。

TL; DR:创建文件progress_horizontal_holo_no_background_light.xml并粘贴此drawable:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/secondaryProgress">
        <scale android:scaleWidth="100%"
               android:drawable="@drawable/progress_secondary_holo_light" />
    </item>

    <item android:id="@android:id/progress">
        <scale android:scaleWidth="100%"
               android:drawable="@drawable/progress_primary_holo_light" />
    </item>

</layer-list>

将适当的.png drawables从sdk/platforms/android-xx/data/res/drawable-xxx/复制到您的项目中,然后复制到您可以添加的代码中:

progressBar.setProgressDrawable(getResources().getDrawable(R.drawable.progress_horizontal_holo_no_background_light));

或在包含ProgressBar

的xml文件中设置属性
android:progressDrawable="@drawable/progress_horizontal_holo_no_background_light"

答案 1 :(得分:1)

<ProgressBar
    android:id="@+id/pb_timer"
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_width="0dp"
    android:layout_height="2dp"
    android:indeterminateTintMode="src_in"
    android:max="30000"
    android:progressTint="@color/color_primary_blue"
    android:rotation="180"
    android:secondaryProgress="30000"
    android:progressBackgroundTint="@color/background_color"
    android:secondaryProgressTint="@color/background_color"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@id/tv_mfa_type"
    tools:progress="15000" />

关键是这些属性

android:progressBackgroundTint="@color/background_color"
android:secondaryProgressTint="@color/background_color"