Come avere un ImageButton trasparente: Android
-
25-09-2019 - |
Domanda
<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>
Questo è quello che cercato di ottenere un ImageButton trasparente in modo da porre tali pulsanti su un SurfaceView. Ma Eclipse, mi dà un errore nel progetto, non appena ho incluso la linea trasparente in XML.
Si prega di aiuto.
Soluzione
Provare a utilizzare null per lo sfondo ...
android:background="@null"
Altri suggerimenti
Non utilizzare un TRANSAPENT o NULL DISPOSIZIONE perché poi il pulsante (o la vista generico) non sarà più highlight click !!!
Ho avuto lo stesso problema e, infine, Ho trovato l'attributo corretto da Android API per risolvere il problema. Si possono applicare a qualsiasi vista.
Utilizzare questo nelle specifiche pulsante:
android:background="?android:selectableItemBackground"
È anche possibile utilizzare un colore trasparente:
android:background="@android:color/transparent"
Impostazione dello sfondo per "@null"
farà il pulsante non ha alcun effetto quando si fa clic. Questa sarà una scelta migliore.
style="?android:attr/borderlessButtonStyle"
In seguito ho scoperto che usando
android:background="?android:attr/selectableItemBackground"
è anche una buona soluzione. E si può ereditare questo attributo nel tuo stile.
in fase di esecuzione, è possibile utilizzare seguente codice
btn.setBackgroundDrawable(null);
Credo che la risposta dovrebbe essere accettato:
android:background="?attr/selectableItemBackground"
Questa è la stessa di @ lory105 risposta ma utilizza la libreria di supporto per la compatibilità massima (la android:
equivalente è disponibile solo per API> = 11)
Rimuovi questa linea:
android:background="@drawable/transparent">
E nel set di classe di attività
ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);
E 'possibile impostare il livello alpha da 0 a 255
o mezzi trasparenti e opachi 255 mezzi.
Il modo migliore è usando il codice colore trasparente
android:background="#00000000"
utilizzare il codice di colore # 00000000 per fare qualsiasi cosa trasparente
Usa ImageView
... è avere sfondo trasparente di default ...
Imposta lo sfondo del ImageButton come @null in 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>
Usa "@ null" . Ha funzionato per me.
<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" />
E 'android:background="@android:color/transparent"
<ImageButton
android:id="@+id/imageButton"
android:src="@android:drawable/ic_menu_delete"
android:background="@android:color/transparent"
/>
I era già aggiungendo qualcosa al fondo così, questa cosa ha funzionato per me:
android:backgroundTint="@android:color/transparent"
(Android Studio 3.4.1)
Questa è programmaticamente set di colori di sfondo come trasparente
ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
a livello di codice può essere fatto da:
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
Nel vostro set XML attributo Background
a qualsiasi tonalità di colore White(#FFFFFF)
o Black(#000000)
shade.if si vuole trasparenza appena messo 80 prima che il codice hash vero e proprio.
#80000000
Utilizzare questa:
<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>
ho usato un png
trasparente per la ImageButton
, e il ImageButton
lavorato.