调整ImageButton的大小?

时间:2011-02-26 18:37:57

标签: android

我有一个ImageButton,我正在使用包含的@android:drawable / ic_menu_more图像。但它太大了。调整大小的最佳方法是什么,以便更好地适应我的形式?还可以在xml中旋转吗? (只有一次,不是基于国家)

4 个答案:

答案 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);

然后将其添加到布局中。