0

我想以编程方式将较大的图像设置为 Android 中 ImageButton 的背景,并将其高度和宽度设置为固定。我可以按如下方式创建图像按钮。但是图像的大小越大。如何根据按钮的大小固定其大小。

ImageButton b0=new ImageButton(this);
b0.setMaxWidth(100);
b0.setMinimumWidth(100);
b0.setMaxHeight(80);
b0.setBackgroundResource(R.drawable.tattoo0);
tattooListView.addView(b0);

提前致谢

4

3 回答 3

1

你可以试试:

b0.setScaleType(ScaleType.FIT_XY);

希望能帮助到你

于 2012-08-23T05:48:47.603 回答
1

ScaleType 不适用于背景,它将适用于源图像。您可以通过 xml 中的 src 属性设置源图像,或者通过 setImage() 方法以编程方式设置,如下所示:

公共无效 setImageBitmap (位图 bm)

public void setImageDrawable (Drawable drawable)

公共无效 setImageResource (int resId)

于 2012-08-23T06:11:53.890 回答
0

这段代码帮助我实现了我的目标。

     ImageButton btn = new ImageButton(getApplicationContext());
     String str=String.format("drawable/theimage");
    int imageResource = getResources().getIdentifier(str, null, getPackageName());

    BitmapDrawable drawable = (BitmapDrawable)getApplicationContext().getResources().getDrawable(imageResource);
            Bitmap bitmap = drawable.getBitmap();
            bitmap = Bitmap.createScaledBitmap(bitmap, 100, 80, true); 

            btn.setBackgroundColor(80000000);
            btn.setImageBitmap(bitmap);


            btn.setTag(1);

            linearlayoutview.addView(btn);
于 2012-08-23T09:43:12.463 回答