web-dev-qa-db-fra.com

Comment avoir un ImageButton transparent: Android

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@drawable/transparent"></ImageButton>

C'est ce que j'ai essayé d'obtenir un ImageButton transparent afin de placer ces boutons sur une SurfaceView. Mais Eclipse me donne une erreur dans le projet dès que j'inclus la ligne transparente au format xml.

S'il vous plaît aider.

469
Namratha

Essayez d'utiliser null pour le fond ...

Android:background="@null"
952
Quintin Robinson

N'UTILISEZ PAS DE TRANSAPENT OR NULL LAYOUT car le bouton (ou la vue générique) ne sera plus mis en évidence au clic !!!

J'ai eu le même problème et finalement j'ai trouvé l'attribut correct de Android API pour résoudre le problème. Cela peut s'appliquer à n'importe quelle vue.

Utilisez ceci dans les spécifications du bouton:

Android:background="?android:selectableItemBackground"
275
lory105

Vous pouvez également utiliser une couleur transparente:

Android:background="@Android:color/transparent"
136
Geykel

Si vous définissez l'arrière-plan sur "@null", le bouton n'aura aucun effet si vous cliquez dessus. Ce sera un meilleur choix.

style="?android:attr/borderlessButtonStyle"

Plus tard, j'ai découvert que

Android:background="?android:attr/selectableItemBackground"

c'est aussi une bonne solution. Et vous pouvez hériter de cet attribut dans votre propre style.

108
Eliko

en exécution, vous pouvez utiliser le code suivant

btn.setBackgroundDrawable(null);
14
Adem

Je crois que la réponse acceptée devrait être: Android:background="?attr/selectableItemBackground"

Ceci est identique à la réponse de @ lory105 mais il utilise la bibliothèque de support pour une compatibilité maximale (l'équivalent Android: n'est disponible que pour les API> = 11).

11
Sam Stern

Supprimer cette ligne:

Android:background="@drawable/transparent">

Et dans votre classe d'activité

ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);

Vous pouvez définir le niveau alpha 0 à 255

o signifie transparent et 255 signifie opaque.

8
Nishant Shah

Le meilleur moyen est d'utiliser le code de couleur transparent

Android:background="#00000000"

utilisez le code de couleur # 00000000 pour rendre transparent quelque chose

5
Ajay Venugopal

Utilisez ImageView... il a un fond transparent par défaut ...

2
Daniel Gomez Rico

Définissez l'arrière-plan de ImageButton sur @null en XML

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@null"></ImageButton>
1
Murtuza Khan

Utilisez "@ null". Cela a fonctionné pour moi.

<ImageButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:srcCompat="@drawable/bkash"
    Android:id="@+id/bid1"
    Android:layout_alignParentTop="true"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true"
    Android:background="@null" />
1
abir99

C'est Android:background="@Android:color/transparent"

<ImageButton
    Android:id="@+id/imageButton"
    Android:src="@Android:drawable/ic_menu_delete"
    Android:background="@Android:color/transparent"
/>
1
Nikolay Podolnyy

J'avais déjà ajouté quelque chose à l'arrière-plan alors, cette chose a fonctionné pour moi:

   Android:backgroundTint="@Android:color/transparent"

(Android Studio 3.4.1)

1
Arsam

Ceci est programmé la couleur de fond transparente

 ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
 btn.setBackgroundColor(Color.TRANSPARENT);
0
Xar E Ahmer

par programme cela peut être fait par:

image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque
0
Muhammed Refaat

Dans votre ensemble XML, Background attribue une couleur White(#FFFFFF) shade ou Black(#000000) shade.si vous souhaitez une transparence, mettez simplement 80 avant le code de hachage réel.

#80000000   
0

Utilisez ceci:

<ImageButton
 Android:id="@+id/back"
 Android:layout_width="wrap_content"
 Android:layout_height="wrap_content"
 Android:background="@null"
 Android:padding="10dp"
 Android:src="@drawable/backbtn" />
0
Akshay Paliwal