我有一个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设置允许的最大高度.在我的应用程序中,我使用此功能以横向模式查看照片,以使图像不高于设备的宽度.