问题描述
我有一个多层LinearLayout来显示出现日历的4x6图像按钮。但是,当我要设置ImageButton的背景时,它太大了。如何设置图像背景以适合ImageButton的大小?我想在一个漂亮的网格中显示24个礼物盒。
<ImageButton
android:id="@+id/buttonOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="25"
android:background="@drawable/present"
android:fontFamily="@font/christmas"
android:onClick="playOne"
android:text="1"
android:textColor="@android:color/white"
android:textSize="@dimen/button_text_size" />
解决方法
我认为您想要做的事情可以通过更改/添加两件事来完成:
-
它是一个ImageButton,所以不要使用
android:background
属性,而要使用android:src
并具有相同的可绘制对象 -
然后添加属性
android:adjustViewBounds="true"
,该属性基本上可以在保持宽高比的同时调整图像以适合视图
我认为应该可以解决问题,否则您也可以尝试
- 使用
android:scaleType
属性,我会尝试使用fitXY
,但这是所有可能的比例类型:https://developer.android.com/reference/android/widget/ImageView.ScaleType
编辑:另外,您可能需要更改宽度和高度属性,或者以dp指定大小,使用约束或将ImageButtons包装在GridLayout
中