twol’s diary

嵌ったことなど

ProgressBar(Horizontal)の背景色を透明にする

背景色の指定の仕方に感動したのでメモ。

activity_main.xml

    <ProgressBar
        android:id="@+id/progressBar"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:indeterminate="false"
        android:max="100"
        android:progressDrawable="@drawable/progress"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_editor_absoluteX="0dp" />

ってなってるとする。android:progressDrawable="@drawable/progress"が新しく加えたところ。 で、progress.xmlプログレスバーのスタイルを設定するんですが、

progress.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background">
        <color android:color="#00ffffff" />
    </item>

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <color android:color="#c6c6c6" />
        </clip>
    </item>

    <item android:id="@android:id/progress">
        <clip>
            <color android:color="#4a90e2" />
        </clip>
    </item>

</layer-list>

#00をつけてcolor hexを付けると透明になるみたい。 他の透明度については以下を参照。

stackoverflow.com