102 votes

Comment définir l'opacité de la forme?

Je sais déjà comment définir l'opacité de l'image d'arrière-plan, mais j'ai besoin de régler l'opacité de mon objet de forme.

Dans mon application Android, j'ai comme ceci: enter image description here

et je veux faire de cette zone en noir un peu transparent, comme ici, par exemple, je peux voir les cercles bien que cette "Bienvenue..." :

enter image description here

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

228voto

Octavian Damiean Points 20620

En général, vous avez juste à définir un peu de couleur transparente lors de la création de la forme.

Vous pouvez le faire en définissant les couleurs de canal alpha.

#FF000000 , vous obtiendrez un solide noir alors qu' #00000000 , vous obtiendrez un 100% transparent noir (bien qu'il n'est pas noir plus évidemment).

Le schéma de couleur est comme cela qu' #AARRGGBB - il est synonyme de canal alpha, R signifie rouge, G pour le vert et B pour bleu.

La même chose s'applique si vous définissez la couleur en Java. Là, il ne ressemble 0xFF000000.

Mise à JOUR

Dans votre cas, vous devez ajouter un solid nœud. 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 est ici un demi-transparent noir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X