Man sieht nicht ob Button gedrückt wurde!

Hallo,
seit ich den Button eine Background Farbe gegeben habe, sehe ich nicht mehr ob der Button gedrückt wurde.
Woran kann das liegen?

Danke schon mal im voraus. :)
 
Sorry ist das erste Forum in das schreibe, ich hoffe ich drücke mich jetzt besser aus.

Also in meinem Programm habe ich ein Button und wenn man halt auf dem Button drückt blickt der Button kurz auf als Zeichen das er gedrückt wurde. So aber jetzt habe ich die Background Farbe vom Button geändert und zwar so.
Java:
<Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#99000000"
                android:text="@string/Button1"
                android:textColor="#FFFFFF" />

Aber jetzt sieht man nicht mehr ob der Button gedrückt wurde bzw sieht man nicht mehr das er kurz auf blickt wenn ich drauf drücke.
 

themrdomi

Mitglied
Hallo,
wenn du einen benutzerdefinierten Button nimmst, (also eine bestimmte Farbe) ist der Button immer in dieser Farbe.
Ich zeige dir mal, wie ich das gelöst habe:
Ich habe zwei Bilder erstellt (in Photoshop, geht aber auch in Paint oder Gimp), und diese tausche ich dann bei dem Klick auf den Button aus.
Dafür erstelle ich eine neue XML-Datei im Ordner Drawable und rufe diese dann auf:

Das ist der Code für den Button:
Code:
<Button
        android:id="@+id/button1"
        android:layout_width="325dp"
        android:layout_height="50dp"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="18dp"
        android:layout_weight="0.005"
        android:background="@drawable/custom" />

Das ist der Code für die neue XML-Datei, die nennst du bitte custom.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/button1_pressed"></item>
    <item android:drawable="@drawable/button1"></item>

</selector>
Deine zwei Buttons müssen natürlich auch im Drawable Ordner gespeichert werden.

Ich hoffe, ich konnte dir helfen.

Lg
Dominik
 
Also ich habe das jetzt so gemacht.
Das ist der Code vom Button.
Java:
<Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/Button1"
                android:textColor="#FFFFFF"
                android:background="@drawable/custom" />

Und das ist der Code von der XML Datei
Java:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  
    <item android:state_pressed="true" android:background="#FFDE00"></item>
    <item android:background="#99000000"></item>

</selector>
Aber wenn ich Die App jetzt auf meinem Handy mache dann sagt er mir "Leider wurde (Name der App) beendet.

habe ich vlt etwas falsch gemacht?
 

dzim

Top Contributor
Bestimmt hast du dass, aber was sollen wir deiner Meinung nach machen? Rätselraten? Wie Turtle schon sagte: Gib uns mehr Informationen! Was sagt Logcat (die Debug-Konsole)? Es wird 100%ig ein Stacktrace ausgegeben und den brauchen eigentlich nicht nur wir, sondern auch du, denn sonst müssen wir alle immer in die grosse Glasskugel schauen...
 
Bei mir steht in der Logcat
das hier.

Java:
07-14 05:32:31.463: E/AndroidRuntime(1901): FATAL EXCEPTION: main
07-14 05:32:31.463: E/AndroidRuntime(1901): Process: com.example.soundboard007, PID: 1901
07-14 05:32:31.463: E/AndroidRuntime(1901): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.soundboard007/com.example.soundboard007.DetlefSoundboard}: android.view.InflateException: Binary XML file line #23: Error inflating class android.widget.Button
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread.access$700(ActivityThread.java:135)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.os.Handler.dispatchMessage(Handler.java:102)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.os.Looper.loop(Looper.java:137)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread.main(ActivityThread.java:4998)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at java.lang.reflect.Method.invokeNative(Native Method)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at java.lang.reflect.Method.invoke(Method.java:515)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at dalvik.system.NativeStart.main(Native Method)
07-14 05:32:31.463: E/AndroidRuntime(1901): Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class android.widget.Button
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.createView(LayoutInflater.java:620)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.Activity.setContentView(Activity.java:1928)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at com.example.soundboard007.DetlefSoundboard.onCreate(DetlefSoundboard.java:58)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.Activity.performCreate(Activity.java:5243)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	... 11 more
07-14 05:32:31.463: E/AndroidRuntime(1901): Caused by: java.lang.reflect.InvocationTargetException
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at java.lang.reflect.Constructor.constructNative(Native Method)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.LayoutInflater.createView(LayoutInflater.java:594)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	... 26 more
07-14 05:32:31.463: E/AndroidRuntime(1901): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/custom.xml from drawable resource ID #0x7f020000
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.content.res.Resources.loadDrawable(Resources.java:2096)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.view.View.<init>(View.java:3545)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.widget.TextView.<init>(TextView.java:622)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.widget.Button.<init>(Button.java:107)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.widget.Button.<init>(Button.java:103)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	... 29 more
07-14 05:32:31.463: E/AndroidRuntime(1901): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #4: <item> tag requires a 'drawable' attribute or child tag defining a drawable
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:181)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	at android.content.res.Resources.loadDrawable(Resources.java:2092)
07-14 05:32:31.463: E/AndroidRuntime(1901): 	... 34 more

Aber ich weiß jetzt nicht was ich damit anfangen soll ich bin noch Neuling.

Ich hoffe ihr könnt damit was anfangen.
 

dzim

Top Contributor
Aha. Du hast den Code von @themrdomi schlecht kopiert: Selektoren (das, was du als "background" an deinen Butten hängst) besitzen selbst kein "background" Attribut (was dir (zumindest in Eclipse) auch noch nicht einal vorgeschlagen wird!), sondern nur diverse state-Attribute und das "drawable"-Attribut. Heisst: mach aus "background" bitte als erstes "drawable".
Ich vermute, dass das aber auch nicht direkt klappen wird, und du dann entweder eine separate drawable dafür anlegen musst, die so etwas wie das hier enthält
[XML]
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@color/xyz"/>
</shape>
[/XML]
(Nur ein Beispiel, du hast da schon noch eine Reihe mehr Möglichkeiten. Suche im Netzt nach "Android Drawable" oder so.)

Oder indem du inline irgendetwas á la [XML]<item><color android:color="@color/xyz"/></item>[/XML] angibst (vergiss dann aber die "state"-Attribute nicht).

Mein Default-Button-Selector sieht z.B. so aus:
[XML]
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/base_shape_transparent" />
<item android:state_pressed="true" android:drawable="@drawable/base_shape_transparent_pressed" />
<item android:state_enabled="true" android:drawable="@drawable/base_shape_transparent" />
<item android:state_enabled="false" android:drawable="@drawable/base_shape_transparent_disabled" />
<item android:drawable="@drawable/base_shape_transparent" />
</selector>
[/XML]

die dazugehörige base_shape_transparent.xml sieht dann so aus
[XML]
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="270"
android:centerColor="@color/black"
android:endColor="@color/darkestGrey"
android:startColor="@color/darkestGrey" />
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/darkGrey" />
<padding
android:bottom="2dp"
android:left="5dp"
android:right="5dp"
android:top="2dp" />
</shape>
[/XML]
(base_shape_transparent_pressed und base_shape_transparent_disabled variieren nur die Farben ein wenig.)
 

dzim

Top Contributor
@themrdomi: 8 Stellen gehen, die ersten beiden sind dann der Alpha-Wert. Verwende ich an einigen Stellen auch. Primär bei Overlays für die Map, oder um den Disabled-Zustand darzustellen.

Sein Problem ist einfach nur ein invalides XML. Ein "background"-Attribut gibt es für die item-Tags in Drawable-Selektoren nicht, sondern nur ein "drawable"-Attribut.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W MoveEvent reagiert nicht Game Android & Cross-Platform Mobile Apps 1
W Reward Ads AdMob wird nicht ausgeliefert. Android & Cross-Platform Mobile Apps 9
W Cookie Manger übermittelt nicht Android & Cross-Platform Mobile Apps 1
J Spinner wird nicht aktualisiert Android & Cross-Platform Mobile Apps 6
M PythonInterpreter funktioniert nicht richtig NoClassDefFoundError Android & Cross-Platform Mobile Apps 1
I Android SharedPreferences wenn App auf externem Speicher klappt nicht Android & Cross-Platform Mobile Apps 0
W Frisch generiertes Projekt Value nicht findbar NavController Drawer Android & Cross-Platform Mobile Apps 12
ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 4
W WebView Linkvertise lädt nicht richtig oder bleibt grau Android & Cross-Platform Mobile Apps 10
W AlertDialog Eigenschaften existiert nicht mehr. Android & Cross-Platform Mobile Apps 14
W Wieso gehen Log nicht im Service? Android & Cross-Platform Mobile Apps 20
R Android Do not disturb: Sound wird nicht abgespielt Android & Cross-Platform Mobile Apps 2
O Google Admob Ad wird nicht geladen und App stürzt ab Android & Cross-Platform Mobile Apps 1
I Android ListView (Custom) soll auf Hardwaretasten nicht reagieren. Android & Cross-Platform Mobile Apps 10
CT9288 Zufällige Zahlengenerierung scheint nicht richtig zu funktionieren Android & Cross-Platform Mobile Apps 5
M App crasht und ich bekomme es nicht behoben.:( Android & Cross-Platform Mobile Apps 17
M Paper DB wird in Android Studio nicht erkannt Android & Cross-Platform Mobile Apps 7
K Android Android In-App-Purchase lädt nicht Android & Cross-Platform Mobile Apps 0
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
R Android Visualizer engine kann nicht initialisiert werden Android & Cross-Platform Mobile Apps 3
OSchriever Navigation drawer Strings ändern sich nicht Android & Cross-Platform Mobile Apps 0
W Code läuft unter SDK 27 aber nicht SDK 30 Android & Cross-Platform Mobile Apps 17
N Android Ich kann mit meiner App nicht auf die Datenbank zugreifen Android & Cross-Platform Mobile Apps 4
A GraphView => X- und Y-Achse wird nicht angezeigt Android & Cross-Platform Mobile Apps 5
ruutaiokwu Android Selbst entwickelter SMTP-Client läuft auf PC, nicht aber auf Android Android & Cross-Platform Mobile Apps 9
W Android Wieso geht getApplicationContext() bei Toast, aber nicht bei AlertDialog.Builder? Android & Cross-Platform Mobile Apps 36
A Android Studio: while-Schleife beginnt nicht Android & Cross-Platform Mobile Apps 5
A jpg wird im Android Studio nicht akzeptiert Android & Cross-Platform Mobile Apps 3
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
J Download und speichern mit jsch klappt nicht Android & Cross-Platform Mobile Apps 5
J Service starte nicht mehr Android & Cross-Platform Mobile Apps 13
Arif Android Radiobutton wird nicht deaktiviert Android & Cross-Platform Mobile Apps 1
Arif Android Canvas wird nicht gezeichnet? Android & Cross-Platform Mobile Apps 0
J Notification wird nicht angezeigt wenn App nicht offen ist. Android & Cross-Platform Mobile Apps 6
J Firebase und Emulator startet nicht Android & Cross-Platform Mobile Apps 2
L ListView aktuallisiert sich nicht Android & Cross-Platform Mobile Apps 15
J ArrayAdapter zeigt Liste nicht an Android & Cross-Platform Mobile Apps 0
L Android Animationen werden nicht angezeigt Android & Cross-Platform Mobile Apps 0
Excess Android Service läuft nicht in Sandby weiter Android & Cross-Platform Mobile Apps 2
W Preview wird nicht korrekt angezeigt Android & Cross-Platform Mobile Apps 0
B Profilpic wird nach anmeldung nicht angezeigt. Android & Cross-Platform Mobile Apps 2
K Methode wird nicht gefunden Android & Cross-Platform Mobile Apps 1
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
K Log.v geht nicht Android & Cross-Platform Mobile Apps 4
J Kamera - Foto wird nicht gespeichert Android & Cross-Platform Mobile Apps 2
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
L Android Java scheint XML nicht zu finden Android & Cross-Platform Mobile Apps 11
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
B Android osmdroid möchte nicht das es mapnik herunterlädt Android & Cross-Platform Mobile Apps 2
apple_pie1998 SharedPreferences funktionieren nicht... Android & Cross-Platform Mobile Apps 17
S Android neue Version des Programms wird nicht in Emulator geladen Android & Cross-Platform Mobile Apps 1
B Android Textdatei laden (klappt nicht) Android & Cross-Platform Mobile Apps 4
O Android Switch Widget wird nicht angezeigt Android & Cross-Platform Mobile Apps 1
M Android ListView wird nicht dargestellt Android & Cross-Platform Mobile Apps 2
S Android null pointer (ich verstehs nicht) Android & Cross-Platform Mobile Apps 2
S Android Emulator startet nicht vollständig. Android & Cross-Platform Mobile Apps 0
S Neue Activity lässt sich nicht starten Android & Cross-Platform Mobile Apps 28
M Notification nicht mehr senden nachdem sie geklickt wurde Android & Cross-Platform Mobile Apps 0
D Android Tabs nutzen - PagerTitleStrip haut nicht hin Android & Cross-Platform Mobile Apps 4
K MediaPlayer Soundklasse Start und Stop (stop funktioniert nicht) Android & Cross-Platform Mobile Apps 1
O Android Anfänger: Quellcode nicht gefunden Android & Cross-Platform Mobile Apps 3
B Timer geht nicht Android & Cross-Platform Mobile Apps 2
S Umlaute werden trotz UTF-8 nicht angezeigt? Android & Cross-Platform Mobile Apps 6
S SPLIT funktion bei STRING funktioniert nicht! Android & Cross-Platform Mobile Apps 4
J Android Breaking Point in Eclipse hält nicht an? Android & Cross-Platform Mobile Apps 5
J Android SimpleDateFormat parser funktioniert nicht richtig? Android & Cross-Platform Mobile Apps 4
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
Y Erstes kleines Android Programm will nicht so recht... Android & Cross-Platform Mobile Apps 1
S Foto-app hält galerie nicht aktuell Android & Cross-Platform Mobile Apps 9
L Android Multitouch will einfach nicht, was mach ich falsch? Android & Cross-Platform Mobile Apps 1
B AlarmManager triggert nicht jede Stunde Android & Cross-Platform Mobile Apps 7
B Erste Android-App: setContentView(R.layout.main) funktioniert nicht Android & Cross-Platform Mobile Apps 6
N Android EditText.setError() funktioniert nicht nach Rotation Android & Cross-Platform Mobile Apps 1
K OnItemLongClickListener in ListActivity spricht nicht an Android & Cross-Platform Mobile Apps 8
N Android Display nicht löschen bzw. neu laden Android & Cross-Platform Mobile Apps 2
J Handy bootet nicht mehr richtig Android & Cross-Platform Mobile Apps 2
D Android OnClickListener funktioniert auf LinearLayout nicht Android & Cross-Platform Mobile Apps 6
X Android Warum werden Views nicht gefunden? Android & Cross-Platform Mobile Apps 4
D Android App startet nicht Android & Cross-Platform Mobile Apps 24
F Android ArrayList nicht funktional in Android!? Android & Cross-Platform Mobile Apps 6
E Datenbankanfrage findet Tabel nicht Android & Cross-Platform Mobile Apps 3
S Android LogCat Ausgaben in Schleife geht nicht? Android & Cross-Platform Mobile Apps 2
schlingel Android Warum man Apps beenden sollte bzw. es nicht tun sollte Android & Cross-Platform Mobile Apps 4
S Auflösungsanpassung funktioniert nicht Android & Cross-Platform Mobile Apps 2
P trotz invalidate() wird onDraw() nicht aufgerufen Android & Cross-Platform Mobile Apps 15
A Werde aus Fehlermeldung nicht schlau.... :-( Android & Cross-Platform Mobile Apps 2
W Eclipse update - Systemprozess reagiert nicht mehr Android & Cross-Platform Mobile Apps 4
B TableLayout verhält sich nicht wie eine Tabelle Android & Cross-Platform Mobile Apps 3
E LayoutInflater funktioniert nicht Android & Cross-Platform Mobile Apps 2
J Sensor Orientierung -> GLRotation stimmt nicht Android & Cross-Platform Mobile Apps 12
K Android Temperaturconverter, R.id.element wird nicht gefunden Android & Cross-Platform Mobile Apps 20
K Android Alarm Manager (Wakelock? ) geht nicht Android & Cross-Platform Mobile Apps 4
U Seit heute morgen läuft meine OpenGL app nicht mehr Android & Cross-Platform Mobile Apps 2
A onDraw wird nicht aufgerufen Android & Cross-Platform Mobile Apps 14
A Kann nicht in TextView einer anderen Klasse schreiben - wieso? Android & Cross-Platform Mobile Apps 9
A Android setVisibility reagiert nicht Android & Cross-Platform Mobile Apps 2
A Android Dialog wird nicht sofort angezeigt Android & Cross-Platform Mobile Apps 12
N Android Hilfe string to float geht nicht... Android & Cross-Platform Mobile Apps 4
W ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 19

Ähnliche Java Themen

Neue Themen


Oben