ImageButton 内的图像未缩放以填充按钮
Image inside ImageButton not scaling to fill button
我的布局包括这个 ImageButton,如图所示:
但是如您所见,图像并未占据 ImageButton 的完整尺寸。
这是定义 ImageButton 的布局文件:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
如您所见,我已经添加了 android:scaleType="fitXY"
,但它不起作用。
我也尝试在 Android Studio 的设计模式中更改按钮大小,但它不让我更改。
如何解决这些问题?
尝试使用 android:src
而不是 app:srcCompat
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:src="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
您可以使用此代码
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
与 Imageview 不同,Imagebutton 在图像区域周围有一个内边距。这是故意的。这是因为默认的按钮样式。您可以执行以下操作之一:
使用无边框按钮样式作为背景。
style="?android:attr/borderlessButtonStyle"
将您的背景设置为空。
android:background="@null"
我的布局包括这个 ImageButton,如图所示:
但是如您所见,图像并未占据 ImageButton 的完整尺寸。
这是定义 ImageButton 的布局文件:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
如您所见,我已经添加了 android:scaleType="fitXY"
,但它不起作用。
我也尝试在 Android Studio 的设计模式中更改按钮大小,但它不让我更改。
如何解决这些问题?
尝试使用 android:src
而不是 app:srcCompat
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:src="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
您可以使用此代码
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/dashboard_profile"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="71dp"
android:layout_marginStart="71dp"
android:layout_marginTop="100dp"
android:id="@+id/imageButton3"
android:scaleType="fitXY"/>
与 Imageview 不同,Imagebutton 在图像区域周围有一个内边距。这是故意的。这是因为默认的按钮样式。您可以执行以下操作之一:
使用无边框按钮样式作为背景。
style="?android:attr/borderlessButtonStyle"
将您的背景设置为空。
android:background="@null"