处理图像宽高比的正确和干净方法是什么?
在我的应用程序中,如果我旋转屏幕,我会失去纵横比,而我的图像看起来很难看 - 查看这些图片,比较我的应用和Play商店 - http://imgur.com/a/GriwP#0
这就是我正在做的事情:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_gravity="center" >
<Button
android:id="@+id/btnStark"
android:layout_marginLeft="4dp"
android:layout_marginRight="2dp"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:background="@drawable/stark"
android:gravity="center|bottom"
android:layout_gravity="top" />
<Button
android:id="@+id/btnLannister"
android:layout_marginLeft="2dp"
android:layout_marginRight="4dp"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:background="@drawable/stark"
android:gravity="center|bottom"
android:layout_gravity="top" />
</LinearLayout>
我该如何处理高度?我应该设定一个固定值吗?或者有什么方法可以自动保持宽高比?
我正在使用的图像是400x300像素
答案 0 :(得分:1)
考虑使用ImageViews
代替按钮 - 它们可以像按钮一样点击。您可以使用scaleType
属性设置图像缩放的方式。
http://developer.android.com/reference/android/widget/ImageView.ScaleType.html
例如,使用CENTER_INSIDE:
均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充)。
所以,比如:
<ImageView
android:id="@+id/btnStark"
android:layout_marginLeft="4dp"
android:layout_marginRight="2dp"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:src="@drawable/stark"
android:scaleType="centerInside"
android:gravity="center|bottom"
android:layout_gravity="top" />
兰尼斯特总是偿还债务。
答案 1 :(得分:0)
您可以尝试使用ImageButton
而不是简单的Button
,并尝试使用不同的ScaleType模式来选择更适合您的内容。