Ä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, was Drawable.createFromPath() gibt (ist es in der Tat ein drawable? Hast createFromPath 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 die res/drawable Ordner. Sie können nicht verwenden setBackground im API-levels unter 16, sollten Sie setBackgroundDrawable für, die. Quelle und Beispiel auf API-Ebene-abhängige Ausführung
InformationsquelleAutor Santanu | 2015-04-19
Schreibe einen Kommentar