355 Stimmen

Wie man den Hintergrund in Android programmatisch zeichnet

So stellen Sie den Hintergrund ein:

RelativeLayout layout = (RelativeLayout) findViewById(R.id.background);
layout.setBackgroundResource(R.drawable.ready);

Ist das der beste Weg?

9voto

Sie können auch den Hintergrund eines beliebigen Bildes festlegen:

View v;
Drawable image=(Drawable)getResources().getDrawable(R.drawable.img);
(ImageView)v.setBackground(image);

3voto

Mohamed AbdelraZek Punkte 2073
setBackground(getContext().getResources().getDrawable(R.drawable.green_rounded_frame));

2voto

Jordy Punkte 1714

Wenn sich Ihre Hintergründe im drawable-Ordner befinden, versuchen Sie, die Bilder aus dem drawable-Ordner in den drawable-nodpi-Ordner in Ihrem Projekt zu verschieben. Dies funktionierte für mich, scheint, dass sonst die Bilder von ihnen selbst neu skaliert werden

1voto

Stephen Punkte 8117

Utilice Buttermesser um die zeichenbare Ressource an eine Variable zu binden, indem Sie diese am Anfang Ihrer Klasse (vor allen Methoden) hinzufügen.

@Bind(R.id.some_layout)
RelativeLayout layout;
@BindDrawable(R.drawable.some_drawable)
Drawable background;

dann fügen Sie innerhalb einer Ihrer Methoden

layout.setBackground(background);

Das ist alles, was Sie brauchen

1voto

if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN)
     layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.ready));
else if(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1)
     layout.setBackground(getResources().getDrawable(R.drawable.ready));
else
     layout.setBackground(ContextCompat.getDrawable(this, R.drawable.ready));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X