Zustand der gedrückten Android-Taste
Ich habe ein Tutorial verfolgt, in dem erklärt wird, wie man den Hintergrund für eine Schaltfläche mit unterschiedlichen Zuständen verwendet, aber es scheint nicht zu funktionieren: S
Hier ist mein Code:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/boutonn" android:state_window_focused="false"/>
<item android:drawable="@drawable/boutonnpousse" android:state_pressed="true"/>
<item android:drawable="@drawable/boutonnpousse" android:state_focused="true"/>
<item android:drawable="@drawable/boutonn" android:state_focused="false"
android:state_pressed="false" />
</selector>
Dies ist ein XML-Code, den ich in meinem Zeichenordner abgelegt habe. Hier ist ein Teil der XML-Datei der Aktivität, die diese Schaltflächen verwendet:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backgrounddd"
android:orientation="vertical" >
<Button
android:id="@+id/bNoteRemind"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/imagebutton1" />
...
Und hier ist die Java-Klasse:
public class MenuPrincipal extends Activity {
Button NoteRemind;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//on lui associe le layout menuprincipal.xml
setContentView(R.layout.menuprincipal);
NoteRemind = (Button) findViewById(R.id.bNoteRemind);
// Si on choisit de rédiger une nouvelle task on va être rediriger sur l'activité NoteReminder
NoteRemind.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
//On créé l'Intent qui va nous permettre d'afficher l'autre Activity
//Mettez le nom de l'Activity dans la quelle vous êtes actuellement pour le premier parametre
v.setPressed(true);
Intent intent = new Intent(MenuPrincipal.this, NoteReminder.class);
//Intent intent = new Intent(MenuPrincipal.this, Teste2.class);
//On démarre l'autre Activity
startActivity(intent);
}
}); ....
Die Schaltfläche wird gut angezeigt, aber wenn ich sie drücke, wird das gedrückte Bild nicht angezeigt: s Ich verstehe nicht, was ich falsch mache!
Hat jemand irgendwo einen Fehler gesehen ???
Wo soll ich diese Zeilen setzen? Ich habe sie in meinem Button xml abgelegt
<Button
android:id="@+id/bNoteRemind"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/imagebutton1"
android:focusable="true"
android:focusableInTouchMode="true" />
Aber jetzt hat sich mein Schaltflächenhintergrund in das gedrückte Bild geändert, ohne dass ich darauf drücke: p und es ändert sich nicht