我目前正在开发一个包含图像视图的 Android 小部件。小部件应该是可调整大小的。
图像应该填充小部件的整个宽度(这是最简单的部分),并且应该填充小部件高度的 30%,同时尊重最大高度 80dip(这是我无法弄清楚的)。
在以下布局中,图像正确缩放到宽度,但不缩放到高度:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/widget_margin">
<ImageView
android:id="@+id/promoShelf"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/shelf"
android:scaleType="fitXY"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
我尝试使用带权重的 LinearLayout 来完成此操作,可以在以下代码段中看到。但是,当使用权重时,它看起来android:maxHeight
不受尊重。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/widget_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="vertical"
android:weight_sum="1">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dip"
android:maxHeight="80dip"
android:src="@drawable/my_image"
android:scaleType="fitXY"
android:layout_weight="0.3" />
</LinearLayout>
</RelativeLayout>
所以,这是(不想要的)结果:
为什么maxHeight
不工作或有人知道如何规避这个问题?