Button mit Background - kein "Drückeffekt" mehr sichtbar

  • Antworten:5
Tim Meißner
  • Forum-Beiträge: 238

14.11.2010, 11:52:25 via Website

Moin!

Habe heute probiert meinen Buttons einen Background zuzuweisen -> sah super aus :)
allerdings: jetzt sieht man nicht mehr ob man den Button getroffen hat, es kommt kein effekt mehr (bei Sense wurde der Standartbutton immer Grün gefärbt beim drücken).
Wie krieg ich den wieder hin?
Muss ich das manuell programmieren mit nem 2. Hintergrundbild oder geht das über evtl. Styles oder sowas?

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

14.11.2010, 11:57:15 via App

Hey,
dazu kannst du die am besten das Form-Stuff Tutorial von Google an. Ich persönlich mach es mir einfach und mach einfach transparente Stellen in den Hintergrund des Bildes für einen Imagebutton..:grin:
Lg Ansgar

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

14.11.2010, 14:46:41 via Website

Du musst ein xml-drawable machen in dem sagst du welches bild er in welchen status verwenden soll.
1<?xml version="1.0" encoding="utf-8"?>
2
3<selector xmlns:android="http://schemas.android.com/apk/res/android">
4
5 <item android:state_pressed="true"
6 android:drawable="@drawable/of_icon_pressed" />
7
8 <item android:drawable="@drawable/of_icon_normal" />
9
10</selector>

und dann sagst du deinem button das er dieses xml als hintergrund nehmen soll!
Ferdisch xD

— geändert am 14.11.2010, 14:46:58

Antworten
Tim Meißner
  • Forum-Beiträge: 238

14.11.2010, 20:33:09 via Website

Danke euch beiden!

Kann ich das innerhalb der XML auch dunkler machen?
Dann muss ich keine 2 Bilder beilegen.

Antworten
Gian U.
  • Forum-Beiträge: 117

16.11.2010, 19:16:27 via Website

Wenn du das Bild in der App selbst dunkler machen willst, musst du dass per Java-Code tun und verbrauchst eine grosse Menge Ressourcen, welche du dir durch ein 2. Bild sparen könnten. in der XML-Datei selbst ist das nicht möglich.

Mnemono - Efficient learning!

Antworten
Tim Meißner
  • Forum-Beiträge: 238

16.11.2010, 20:06:55 via Website

Achso okay, das ist es dann allerdings doch nicht wert. Opfere ich halt die paar KB auf dem internen Speicher :)

Antworten