Implementieren Sie android:src=”@drawable/image” programmgesteuert in Android

Lesezeit: 2 Minuten

Benutzeravatar von user788511
Benutzer788511

Ich versuche, das Vordergrundbild auf einer Bildschaltfläche festzulegen. Nach einiger Recherche bin ich auf dieses Codebeispiel gestoßen:

<ImageButton android:text="Button" android:id="@+id/button1"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="https://stackoverflow.com/questions/7346864/@drawable/icon"/>

Meine Frage ist, wie man android:src tatsächlich im Code implementiert.

Benutzeravatar von Marco
Marco

Versuche dies:

ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageResource(R.drawable.newimage);

wo newimage ist der Bildname in ziehbar Mappe.

BEARBEITET

Versuche dies:

ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageBitmap(bm);

wo bm ist eine vom Server extrahierte Bitmap.

WIEDER BEARBEITET

Wie ich sehe, erhalten Sie ein Drawable; naja, mach das:

normalImage = Drawable.createFromStream(code);
Bitmap bm = ((BitmapDrawable)normalImage).getBitmap();
ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageBitmap(bm);

  • Vielen Dank. Ich bekomme das Bild jedoch vom Server und speichere es nicht in einem Drawable-Ordner. Gibt es eine Möglichkeit, dies zu erreichen?

    – Benutzer788511

    8. September 2011 um 11:12 Uhr

  • Das ist super Marco, aber ich bin nur auf Drawables beschränkt..das ist die Designspezifikation..Ich kann keine Bitmaps verwenden

    – Benutzer788511

    8. September 2011 um 11:18 Uhr

  • @ user788511: Wenn Sie auf Drawables beschränkt sind, was gibt Ihnen Ihr Server zurück?

    – Marco

    8. September 2011 um 11:22 Uhr

  • Der Server gibt ein Bild zurück, das zur Laufzeit in ein zeichenbares Format umgewandelt wird

    – Benutzer788511

    8. September 2011 um 11:27 Uhr

  • @ user788511: Wo speichern Sie dieses zur Laufzeit konvertierte Bild? Welcher Android-Typ ist Ihr konvertiertes Bild?

    – Marco

    8. September 2011 um 11:32 Uhr

Benutzeravatar von KarenAnne
Karen Anne

Hier ist, was für mich bei der Einstellung funktioniert hat image:src auf ein ImageButton programmgesteuert** oder durch Code:

1. Rufen Sie das zeichbare Bild ab.

Drawable tempImage = getResources().getDrawable(R.drawable.my_image);

2. Holen Sie sich die Aussicht.

ImageButton tempButton = (ImageButton)findViewById(R.id.my_image_button);

3.Stellen Sie das Bild für die Ansicht ein.

tempButton.setImageDrawable(tempImage);

Hoffe das funktioniert auch bei dir!

  • Sehr deutlich! Beachten Sie jedoch, dass Schritt 1 eine API verwendet, die ab API-Level 22 veraltet ist. Ich habe sie ersetzt durch: ContextCompat.getDrawable(context, R.drawable.my_image).

    – Stevehs17

    5. Februar 2016 um 20:53 Uhr

Benutzeravatar von Android Killer
Android-Killer

Hoffe, das wird dir helfen

ImageButton button1=(ImageButton)findViewById(R.id.button1);       
button1.setImageResource(R.drawable.icon);

  • Vielen Dank. Ich bekomme das Bild jedoch vom Server und speichere es nicht in einem Drawable-Ordner. Gibt es eine Möglichkeit, dies zu erreichen?

    – Benutzer788511

    8. September 2011 um 11:14 Uhr

  • Ich denke, Sie können aus diesem Bild ein Bitmap-Objekt erstellen und button1.img.setImageBitmap(yuorbitmapobject) verwenden;

    – Android-Killer

    8. September 2011 um 11:17 Uhr

Benutzeravatar von Nikunj Patel
Nikunj Patel

Versuche dies::

ImageButton tran_btn_skip;

tran_btn_skip = (ImageButton) findViewById(R.id.btn);
    try {
        Bitmap bitmap_skip = BitmapFactory.decodeStream((InputStream) new URL(
                "http://233.129.115.55/MRESC/images/test/skip.png")
                .getContent());
        tran_btn_skip.setImageBitmap(bitmap_skip);
    } catch (Exception e) {
    }

Noch eine kurze Variante

views.setImageViewResource(R.id.button1, R.drawable.newbutton);

Benutzeravatar von Mick0311
Mick0311

Ich weiß, dass dies eine alte Frage ist, aber für zukünftige Suchanfragen … Ich glaube, wonach Sie suchen:

imgButton.setImageDrawable(drawable);

1431800cookie-checkImplementieren Sie android:src=”@drawable/image” programmgesteuert in Android

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy