Je sais déjà comment définir l'opacité de l'image d'arrière-plan, mais je dois définir l'opacité de mon objet de forme.
Dans mon Android, je l’ai comme ceci:
et je veux rendre cette zone noire un peu transparente, comme ici, par exemple, je peux voir des cercles si ce "Bienvenue ...":
Voici mon code de forme:
<?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>
Comment puis je faire ça?
En général, il suffit de définir une couleur légèrement transparente lors de la création de la forme.
Vous pouvez y parvenir en définissant le canal alpha des couleurs.
#FF000000
vous obtiendrez un noir solide alors que #00000000
vous obtiendrez un noir 100% transparent noir (et bien, ce n’est plus noir évidemment).
La palette de couleurs est comme ça #AARRGGBB
là, A représente le canal alpha, R le rouge, G le vert et B le bleu.
La même chose s'applique si vous définissez la couleur en Java. Là ça ne ressemblera qu'à 0xFF000000
.
MISE À JOUR
Dans votre cas, vous devrez ajouter un nœud solid
. Comme ci-dessous.
<?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>
La couleur ici est un noir à moitié transparent.
utilisez ce code ci-dessous comme 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>
où:
après cela, utilisez-le dans la mise en page contenant le XML:
<SeekBar
Android:id="@+id/myseekbar"
...
Android:progressDrawable="@drawable/progress"
/>
vous pouvez également personnaliser le pouce en utilisant une icône personnalisée seek_thumb.png:
Android:thumb="@drawable/seek_thumb"
Utilisez celui-ci, je l'ai écrit dans mon application,
<?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>