реализовать Android: src = "@ drawable / image" программно в Android - PullRequest
36 голосов
/ 08 сентября 2011

Я пытаюсь установить изображение переднего плана на кнопке изображения. После некоторых исследований я наткнулся на этот пример кода:

<ImageButton android:text="Button" android:id="@+id/button1"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/icon"/>

Мой вопрос - как на самом деле реализовать android: src в коде.

Ответы [ 6 ]

95 голосов
/ 08 сентября 2011

Попробуйте:

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

, где newimage - имя изображения в папке drawable .

EDITED
tryэто:

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

, где bm - это растровое изображение, извлеченное с сервера.

EDITED AGAIN *
Я вижу, вы получаете Drawable;ну, сделайте это:

normalImage = Drawable.createFromStream(code);
Bitmap bm = ((BitmapDrawable)normalImage).getBitmap();
ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageBitmap(bm);
11 голосов
/ 07 июня 2013

Вот что сработало для меня при настройке image:src на ImageButton программно ** или с помощью кода:

1. Восстановите изображение для рисования.

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

2.Получить представление.

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

3. Установите изображение для просмотра.

tempButton.setImageDrawable(tempImage);

Надеюсь, это работает и для вас!

3 голосов
/ 08 сентября 2011

попробуйте это ::

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) {
    }
2 голосов
/ 08 сентября 2011

Надеюсь, что это поможет вам

ImageButton button1=(ImageButton)findViewById(R.id.button1);       
button1.setImageResource(R.drawable.icon);
1 голос
/ 03 августа 2015

Еще один короткий вариант

views.setImageViewResource(R.id.button1, R.drawable.newbutton);
0 голосов
/ 26 апреля 2013

Я знаю, что это старый вопрос, но для будущих поисков ... Я думаю, что вы ищете:

imgButton.setImageDrawable(drawable);
...