调整ImageButton的大小?

我有一个ImageButton,我正在使用包含的@android:drawable / ic_menu_more图像。 但是它太大了。 resize以适应我的表单更好的最好方法是什么? 另外,它可以在XML内旋转? (只是一次,不是基于国家)

Solutions Collecting From Web of "调整ImageButton的大小?"

尝试设置android:background而不是android:src来设置button上的图像。 这可能有助于你的情况,因为它会将图像拉伸到button的大小。 此外,您将不得不为button指定固定尺寸(使用dip代替px )。 例:

 <ImageButton android:background="@drawable/ic_menu_more" android:layout_width="50dip" android:layout_height="50dip" /> 

从steven-byle的解决scheme( https://stackoverflow.com/a/15117536/1741997 ),他说:

“…使用android:scaleType =”fitCenter“使Android缩放图像,并使用android:adjustViewBounds =”true“使其调整边界,因为缩放…”

这个对我有用

您可以使用NinePatchDrawable …一个可resize的位图,带有可定义的可伸缩区域。

http://developer.android.com/reference/android/graphics/drawable/NinePatchDrawable.html

我解决这个问题的方法是从所讨论的绘图资源中创build一个位图,然后将其转换成所需大小的缩放位图。 我也将背景设置为透明以仅显示图像。

  int height = 300; int width = 500 Bitmap bmp; bmp = BitmapFactory.decodeResource(getResources(), R.drawable.myresourcename); bmp = Bitmap.createScaledBitmap(bmp, width, height, true); ImageButton imageButton = new ImageButton(this.getActivity()); imageButton.setImageBitmap(bmp); imageButton.setBackgroundColor(Color.TRANSPARENT); 

然后将其添加到布局。