相应地填充宽度和比例高度ImageView Android

我有一个ImageView,我用它作为按钮,我希望它缩放到设备宽度,然后缩放高度以保持纵横比.我一直在关注这个帖子:How to scale an Image in ImageView to keep the aspect ratio并尝试了一切,没有任何工作.

这是我的XML:

 <ImageView
        android:id="@+id/th_button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/towing_button"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="50dp"
        android:adjustViewBounds="true"
        android:clickable="true"
        android:fitsSystemWindows="true"
        android:scaleType="fitCenter"
        android:src="@drawable/call_th_button_selector" />

奇怪的是,它在Eclipse的预览中正常工作,但是当我在我的设备上测试时,它不会缩放高度.

谁知道解决这个问题?

解决方法:

我实际上为此制作了一个小部件.你基本上只是将ImageView放在RatioRelativeLayout(这个小部件:https://github.com/elimirks/RatioRelativeLayout)中.

该示例位于github页面上,但我也将其粘贴到此处:

<my.package.RatioRelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    heightRatio="0.75"
>
    <View
        android:layout_width="25dp"
        android:layout_height="match_parent"
        android:background="#f00"
    />
</my.package.RatioRelativeLayout>

您还可以使用setMaxHeight设置允许的最大高度.在我的应用程序中,我使用此功能以横向模式查看照片,以使图像不高于设备的宽度.

上一篇:你能在android ImageView上更改位图的图像色调吗?


下一篇:android – Imageview在我的屏幕边缘收缩