Wie setze ich einen transparenten Hintergrund für die Bildschaltfläche im Code?

83

Ich kann den ImageButton-Hintergrund transparent machen, layout.xmlindem ich :

android:background="@android:color/transparent"

Wie kann ich dasselbe mit Java-Code erreichen? Etwas wieib.setBackgroundColor(???);

Peter
quelle
1
Danke fürs Fragen, brauchte nur diese transparente Linie :)
CularBytes

Antworten:

153

Dies ist die einfache einzige, die Sie Hintergrundfarbe als transparent einstellen müssen

    ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
    btn.setBackgroundColor(Color.TRANSPARENT);
Parag Chauhan
quelle
30

Mach es in deiner XML

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageButtonSettings"
        android:layout_gravity="right|bottom"
        android:src="@drawable/tabbar_settings_icon"
        android:background="@android:color/transparent"/>
bsautner
quelle
11

Das sollte funktionieren - imageButton.setBackgroundColor(android.R.color.transparent);

Abhinav Manchanda
quelle
11

VERWENDEN SIE KEIN TRANSAPENTES ODER NULL-LAYOUT, da dann die button(oder die generische Ansicht) beim Klicken nicht mehr hervorgehoben wird !!!

Ich hatte das gleiche Problem und fand schließlich das richtige Attribut von der Android-API, um das Problem zu lösen. Es kann auf jede Ansicht angewendet werden

Verwenden Sie dies in den Schaltflächenspezifikationen

android:background="?android:selectableItemBackground"

Dies erfordert API 11

AndroidGeek
quelle
2
Genau das brauchte ich. Verwenden nulloder transparentDeaktivieren der Tastenrückmeldung.
Aks
4

Versuchen Sie es so

ImageButton imagetrans=(ImageButton)findViewById(R.id.ImagevieID);

imagetrans.setBackgroundColor(Color.TRANSPARENT);

ODER

Fügen Sie dies in Ihre XML-Datei in res / layout ein

android:background="@android:color/transparent 
Hase
quelle
3

Verwenden Sie dies einfach in Ihrem Imagebutton-Layout

android:background="@null"

mit

 android:background="@android:color/transparent 

oder

 btn.setBackgroundColor(Color.TRANSPARENT);

gibt keine perfekte Transparenz

Bourax Webmaster
quelle
2

Wenn Sie Android- RKlasse verwenden möchten

textView.setBackgroundColor(ContextCompat.getColor(getActivity(), android.R.color.transparent));

und vergessen Sie nicht, der Gradle-Datei eine Unterstützungsbibliothek hinzuzufügen

compile 'com.android.support:support-v4:23.3.0'
MarsPeople
quelle