В настоящее время я разрабатываю виджет Android, содержащий изображение. Виджет должен быть изменен. Изображение должно заполнить всю ширину виджета (это легкая часть) и должно заполнить 30% высоты виджета при соблюдении максимальной высоты 80dip (это то, что я не могу понять).Масштаб изображения в Android-виджетах относительно высоты виджета, но соблюдайте максимальную высоту
В следующем макете, изображение масштабируется правильно по ширине, но не на высоте:
<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 не работает или кто-нибудь есть идеи, как обойти это? Любая помощь очень ценится!
Привет Droidee. Спасибо, но, к сожалению, это имеет тот же результат, что и код в моих вопросах, т. Е. MaxHeight не соблюдается. – Flo