Comment avoir un ImageButton transparent: Android
-
25-09-2019 - |
Question
<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>
est ce que j'ai essayé d'obtenir un ImageButton transparent de manière à placer les boutons sur une SurfaceView. Mais Eclipse, me donne une erreur dans le projet dès que j'incorporez la ligne transparente en XML.
S'il vous plaît aider.
La solution
Essayez d'utiliser null pour l'arrière-plan ...
android:background="@null"
Autres conseils
NE PAS UTILISER TRANSAPENT OU NULL AGENCEMENT parce qu'alors le bouton (ou la vue générique) sera plus fort au clic !!!
J'ai eu le même problème et enfin J'ai trouvé l'attribut correct de l'API Android pour résoudre le problème. Il peut demander à tout point de vue.
Utilisez ce dans les spécifications du bouton:
android:background="?android:selectableItemBackground"
Vous pouvez également utiliser une couleur transparente:
android:background="@android:color/transparent"
Réglage de l'arrière-plan "@null"
fera le bouton n'a aucun effet lorsque vous cliquez dessus. Ce sera un meilleur choix.
style="?android:attr/borderlessButtonStyle"
Plus tard, je trouve que l'utilisation
android:background="?android:attr/selectableItemBackground"
est également une bonne solution. Et vous pouvez hériter cet attribut dans votre propre style.
dans le temps d'exécution, vous pouvez utiliser le code suivant
btn.setBackgroundDrawable(null);
Je crois que la réponse devrait être acceptée:
android:background="?attr/selectableItemBackground"
est le même que @ la réponse de lory105 mais il utilise la bibliothèque de support pour une compatibilité maximale (l'équivalent android:
est uniquement disponible pour les API> = 11)
Supprimer cette ligne:
android:background="@drawable/transparent">
Et dans votre jeu de 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.
La meilleure façon est en utilisant le code couleur transparent
android:background="#00000000"
utiliser le code couleur # 00000000 pour faire quelque chose transparent
Utiliser ImageView
... il a fond transparent par défaut ...
Définir l'arrière-plan de la ImageButton comme @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" . Il a travaillé 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" />
Il est android:background="@android:color/transparent"
<ImageButton
android:id="@+id/imageButton"
android:src="@android:drawable/ic_menu_delete"
android:background="@android:color/transparent"
/>
Je suis déjà d'ajouter quelque chose à l'arrière-plan afin, cette chose a fonctionné pour moi:
android:backgroundTint="@android:color/transparent"
(Android studio 3.4.1)
Ceci est fixé par programme en tant que couleur d'arrière-plan transparent
ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
Programmatically il 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 XML ensemble Background
attribut à toutes les nuances de couleur ou White(#FFFFFF)
Black(#000000)
shade.if vous voulez la transparence vient de mettre 80 avant le code de hachage réelle.
#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" />
<ImageButton
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/media_skip_backward">
</ImageButton>
I utilisé un png
transparent pour le ImageButton
, et le ImageButton
travaillé.