<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.
Essayez d'utiliser null pour le fond ...
Android:background="@null"
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"
Vous pouvez également utiliser une couleur transparente:
Android:background="@Android:color/transparent"
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.
en exécution, vous pouvez utiliser le code suivant
btn.setBackgroundDrawable(null);
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).
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.
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
Utilisez ImageView
... il a un fond transparent par défaut ...
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>
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" />
C'est Android:background="@Android:color/transparent"
<ImageButton
Android:id="@+id/imageButton"
Android:src="@Android:drawable/ic_menu_delete"
Android:background="@Android:color/transparent"
/>
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)
Ceci est programmé la couleur de fond transparente
ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
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
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
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" />