ImageButton图像未调整为较小的尺寸

时间:2016-05-17 16:54:48

标签: android android-layout button android-imagebutton

这是我预期的输出图像:

output

我有一个图像按钮的网格布局和输出图像中显示的每个数字和单词的单独图像。

enter image description here

我为它们生成了9个补丁图像。现在当我使用其中一个图像作为单个按钮,布局宽度和高度设置为包装内容时,它显示的太大,如图所示:(第一个使用“src”属性,第二个使用“背景”属性为ImageButton 。)

enter image description here enter image description here

但是当我指定一些默认的高度和宽度值(例如50 dp)时,图像会变得太小而且数字甚至看不到如下所示。

enter image description here

布局代码是

    <GridLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:id="@+id/numberGrid"
    android:layout_below="@+id/amountTextView"
    android:layout_gravity="center"
    android:layout_marginTop="9dp"
    android:layout_marginLeft="75dp"
    android:columnCount="3"
    android:rowCount="5"
    >
    <ImageButton android:text="1" />
    <ImageButton android:text="2" />
    <ImageButton android:text="3" />
    <ImageButton android:text="4" />
    <ImageButton android:text="5" />
    <ImageButton android:text="6" />
    <ImageButton android:text="7" />
    <ImageButton android:text="8" />
    <ImageButton android:text="9" />
    <ImageButton android:text="0" 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:scaleType="center"
     android:src="@drawable/img_btn_0"
     />
    <ImageButton android:text="." />
    <ImageButton android:text="DEL" />
    <ImageButton android:text="CLEAR"
        android:layout_columnSpan="2"
        />
    <ImageButton android:text="OK" />
</GridLayout>

1 个答案:

答案 0 :(得分:1)

尝试在dp中指定一些高度和宽度,并将比例类型设置为“centerCrop”而不是“center”。

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:src="@drawable/img_btn_0"
    android:scaleType="centerCrop"/>