Ändern der hintergrund-Bild-auf-Taste auf-android-app-Entwicklung
Ich versuche, ändern Sie das hintergrund-Bild der Aktivität
auf den button klicken, aber nicht in der Lage, dies zu tun. Könnt Ihr mir sagen, wie ich das tun kann?
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try
{
Activity activity = Selection.this;
//Drawable db = Drawable..createFromPath(R.drawable.love1);
//The below line gives error because setbackgroundImage
//is supposed to take a drawable object as an argument.
//Now what to do?
activity.findViewById(android.R.id.content)
.setBackground(Drawable.createFromPath("res/love1.jpg"));
//What to do to correct the above line?
mySong = MediaPlayer.create(Selection.this, R.raw.song1);
mySong.start();
}
catch(Exception ee){
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(ee.getMessage());
}
}
});
Versuchte ich mit der Farbe.ROT mit setBackgroundColor aber auch das funktioniert nicht.
PS: ich habe nichts geändert in der xml-Datei für die Durchführung dieser.
- Bitte geben Sie die Fehler, die geworfen ist in
.setBackground
, und schauen, wasDrawable.createFromPath()
gibt (ist es in der Tat ein drawable? HastcreateFromPath
gelingen?) - Es gibt keine Fehler geworfen eigentlich nur die Sache ist, dass, wenn ich versuche, mit Drawable.createFrompath(), Ihr sagt mir minimum-API-level erforderlich ist 16 und Sie sind mit weniger als das. aber die Farbe, die Sache funktioniert jetzt. Nur ich bin nicht in der Lage, um den hintergrund zu ändern. Was ich canged dieser Zeit war: 1. Ich fügte hinzu, eine id, um das Layout-tag meiner xml-und dann dazu verwendet wird, die id, die Farbe zu ändern. 2. Aber ich kann die sam-ething für hintergrund(Drwawable), weil es erwartet, dass ein drawable argument, das ich bin nicht in der Lage zu bieten und bitte nicht mit deiner oben genannten Methode NICHT ARBEITET!!
- Verwenden
getResources().getDrawable(R.drawable.your_drawable)
und stellen Sie Ihre drawable (jpg) in dieres/drawable
Ordner. Sie können nicht verwendensetBackground
im API-levels unter 16, sollten SiesetBackgroundDrawable
für, die. Quelle und Beispiel auf API-Ebene-abhängige Ausführung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, der einfachste Weg ist die Benutzung von layout in Ihrem
xml
- Datei für Ihre Aktivität.. zum Beispiel:und dann ändern Sie es von Ihrer Aktivität, wenn Sie wollen, z.B. nach button-Klick:
LinearLayout mLinearLayout = (LinearLayout) findViewById(R. id.LayoutID);
mLinearLayout.setBackgroundResource(R. drawable.image_name);