web-dev-qa-db-fra.com

Faire en sorte que ImageView ait une transparence sombre

Je veux ajouter la couleur noire transparente au-dessus de l'image et la rendre plus sombre.

 enter image description here

          <RelativeLayout
                Android:layout_width="match_parent"
                Android:layout_height="match_parent">

                <ImageView
                    Android:id="@+id/rest_image"
                    Android:layout_width="match_parent"
                    Android:layout_height="150dp"
                    Android:adjustViewBounds="true"
                    Android:scaleType="centerCrop"
                    />
            </RelativeLayout>

Je peux définir le paramètre alpha mais le changement de couleur est en blanc ..__ Je veux rendre l'image plus sombre comme ceci ..__ Comment puis-je le faire en code XML ou Java Je vais le régler en fonction de la condition.

Merci.

8
Karesh A

Ce dont vous avez besoin s'appelle teinter. Appliquez une teinte à votre ImageView:

<ImageView
    ...
    Android:tint="#6F000000"
    />
18
azizbekian

Essayez cette seconde imageview définira la couleur transparente. Ajustez la hauteur en fonction de vos besoins. 

500000 - les 4 derniers chiffres correspondent à la couleur noire et les deux premiers à l'alpha que vous souhaitez définir.

                      <RelativeLayout
                        Android:layout_width="match_parent"
                        Android:layout_height="match_parent">

                        <ImageView
                            Android:id="@+id/rest_image"
                            Android:layout_width="match_parent"
                            Android:layout_height="150dp"
                            Android:adjustViewBounds="true"
                            Android:scaleType="centerCrop"
                            />

                          <ImageView 
                            Android:layout_width="match_parent"
                            Android:layout_height="150dp" 
                            Android:background="#500000"
                            />
                    </RelativeLayout>
2
Harminder Singh

La solution la plus simple et la plus rapide serait en XML

Ajoutez un deuxième calque (il peut s'agir d'une vue, il n'est pas nécessaire que ce soit une vue) au-dessus de votre vue, avec la couleur/alpha souhaitée. Afficher/masquer si nécessaire.

            <ImageView
                Android:id="@+id/rest_image"
                Android:layout_width="match_parent"
                Android:layout_height="150dp"
                Android:adjustViewBounds="true"
                Android:scaleType="centerCrop"
                />

            <View
                Android:id="@+id/overlay_image"
                Android:layout_width="match_parent"
                Android:layout_height="150dp"
                Android:background=“@color/yourColorWithAlpha"
                />
        </RelativeLayout>
0
NSimon