42

我正在尝试在图像按钮上设置前景图像。经过一番研究,我遇到了这个代码示例:

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

我的查询是如何在代码中实际实现 android:src。

4

6 回答 6

107

试试这个:

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

可绘制文件夹newimage中的图像名称在哪里。

编辑
试试这个:

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

其中bm是从服务器提取的位图。

再次编辑
我看到你收到了一个 Drawable;好吧,这样做:

normalImage = Drawable.createFromStream(code);
Bitmap bm = ((BitmapDrawable)normalImage).getBitmap();
ImageButton btn = (ImageButton)findViewById(R.id.button1);
btn.setImageBitmap(bm);
于 2011-09-08T10:53:25.503 回答
13

以下是我在image:srcImageButton编程方式**或通过代码设置的方法:

1.检索可绘制的图像。

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

2.获取视图。

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

3.设置视图的图像。

tempButton.setImageDrawable(tempImage);

希望这对你也有效!

于 2013-06-07T06:45:14.240 回答
3

试试这个::

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) {
    }
于 2011-09-08T10:53:57.383 回答
3

希望对你有帮助

ImageButton button1=(ImageButton)findViewById(R.id.button1);       
button1.setImageResource(R.drawable.icon);
于 2011-09-08T10:57:45.923 回答
1

另一种短变体

views.setImageViewResource(R.id.button1, R.drawable.newbutton);
于 2015-08-03T08:36:46.907 回答
0

我知道这是一个老问题,但对于未来的搜索......我相信你正在寻找的是:

imgButton.setImageDrawable(drawable);
于 2013-04-26T14:56:15.507 回答