我有一个ImageButton,我正在使用包含的@android:drawable / ic_menu_more图像。但它太大了。调整大小的最佳方法是什么,以便更好地适应我的形式?还可以在xml中旋转吗? (只有一次,不是基于国家)
答案 0 :(得分:32)
尝试设置android:background
而不是android:src
来设置按钮上的图像。这可能对您的情况有所帮助,因为它会将图像拉伸到按钮的大小。此外,您还必须为按钮指定固定尺寸(使用dip
代替px
)。例如:
<ImageButton
android:background="@drawable/ic_menu_more"
android:layout_width="50dip"
android:layout_height="50dip" />
答案 1 :(得分:3)
从steven-byle的解决方案(https://stackoverflow.com/a/15117536/1741997),他说:
“...使用android:scaleType =”fitCenter“让Android缩放图像,并使用android:adjustViewBounds =”true“让他们根据缩放调整边界......”
它对我有用
答案 2 :(得分:1)
您可以使用NinePatchDrawable ...可调整大小的位图,您可以定义可伸展区域。
http://developer.android.com/reference/android/graphics/drawable/NinePatchDrawable.html
答案 3 :(得分:0)
我解决这个问题的方法是从有问题的绘图资源创建一个位图,然后将其转换为具有所需大小的缩放位图。我还将背景设置为透明,仅显示图像。
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);
然后将其添加到布局中。