背景画像の不透明度を設定する方法は既に知っていますが、シェイプオブジェクトの不透明度を設定する必要があります。
Androidアプリでは、このようになっています:
そして、この黒い領域を少し透明にしたいと思います。たとえば、この「Welcome ...」で円を見ることができます。
これが私の形状コードです。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/shape_my"">
<stroke Android:width="4dp" Android:color="#636161" />
<padding Android:left="20dp"
Android:top="20dp"
Android:right="20dp"
Android:bottom="20dp" />
<corners Android:radius="24dp" />
</shape>
どうやってやるの?
一般に、シェイプを作成するときに、わずかに透明な色を定義する必要があります。
カラーアルファチャネルを設定することで、これを実現できます。
#FF000000
は黒一色になりますが、#00000000
は、100%透明blackになります(これは明らかに黒ではありません)。
カラースキームはこのような#AARRGGBB
そこにAはアルファチャネル、Rは赤、Gは緑、Bは青を表します。
Javaで色を設定する場合も同じことが当てはまります。そこでは、0xFF000000
。
[〜#〜] update [〜#〜]
あなたの場合、solid
ノードを追加する必要があります。以下のように。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/shape_my"">
<stroke Android:width="4dp" Android:color="#636161" />
<padding Android:left="20dp"
Android:top="20dp"
Android:right="20dp"
Android:bottom="20dp" />
<corners Android:radius="24dp" />
<solid Android:color="#88000000" />
</shape>
ここの色は半透明の黒です。
以下のコードをprogress.xmlとして使用します。
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@Android:id/background">
<shape>
<corners Android:radius="5dip" />
<gradient
Android:startColor="#ff9d9e9d"
Android:centerColor="#ff5a5d5a"
Android:centerY="0.75"
Android:endColor="#ff747674"
Android:angle="270"
/>
</shape>
</item>
<item Android:id="@Android:id/secondaryProgress">
<clip>
<shape>
<solid Android:color="#00000000" />
</shape>
</clip>
</item>
<item Android:id="@Android:id/progress">
<clip>
<shape>
<solid Android:color="#00000000" />
</shape>
</clip>
</item>
</layer-list>
どこ:
その後、xmlを含むレイアウトで使用します。
<SeekBar
Android:id="@+id/myseekbar"
...
Android:progressDrawable="@drawable/progress"
/>
また、カスタムアイコンseek_thumb.pngを使用して、親指をカスタマイズすることもできます。
Android:thumb="@drawable/seek_thumb"
これを使って、これをアプリに書きました。
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" Android:padding="10dp">
<solid Android:color="#882C383E"/>
<corners
Android:bottomRightRadius="5dp"
Android:bottomLeftRadius="5dp"
Android:topLeftRadius="5dp"
Android:topRightRadius="5dp"/>
</shape>