【问题标题】:Remove progress bar background in android progress bar在android进度条中删除进度条背景
【发布时间】:2014-08-05 16:20:51
【问题描述】:

如何去除灰色背景,只在进度条中显示蓝色进度条。

【问题讨论】:

标签: android progress-bar


【解决方案1】:

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


结果:

要删除它,只需通过 id 搜索背景并尝试隐藏它是行不通的。要删除背景,我必须创建与系统版本相同的 drawble 并删除背景项。

TL;DR:创建文件 progress_horizontal_holo_no_background_light.xml 并粘贴此可绘制对象:

<?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>

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

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

或在包含ProgressBar的xml文件中设置属性

android:progressDrawable="@drawable/progress_horizontal_holo_no_background_light"

【讨论】:

  • 如何以编程方式执行此操作?
  • @MauroAlexandro 见stackoverflow.com/a/43252422/818821 但我发现我必须这样做((LayerDrawable) drawable).setDrawableForLayerId(android.R.id.progress, newDrawable) 因为drawable 是一个图层列表
【解决方案2】:
<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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2014-05-04
    • 2014-06-02
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多