2

我有这个我定义的小布局插入我的应用程序的每个页面:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageButton
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:background="@null"
    android:src="@drawable/sa_info"
    android:layout_alignParentRight="true"/>

我有 118x118 的 sa_info.png,但我希望它在屏幕上看起来更小。如果我尝试将 imagebutton 的宽度和高度设置为所需的大小(比如说 48dp),则在我运行应用程序时生成的图像将被裁剪到中心: 原始图像 裁剪图像

所以我必须获得所需结果的唯一方法是将图像本身缩放到所需的分辨率。我做错了什么,有没有更好的方法来做到这一点?

4

1 回答 1

12

尝试添加

android:scaleType="fitCenter" -> http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

android:adjustViewBounds="true" -> 如果您希望 ImageView 调整其边界以保持其可绘制对象的纵横比,请将其设置为 true。

于 2013-11-14T11:39:29.303 回答