Android: соотношение размеров ConstraintLayout + процент ширины - PullRequest
0 голосов
/ 11 июля 2020

Я хочу, чтобы изображение в макете ниже масштабировалось в зависимости от размера экрана. Он должен поддерживать соотношение сторон 1: 1, но не превышать 150dp

enter image description here

I tried using a combination of Width_max, DimensionRatio & Width_percent, but the image either respects the width percent or shrinks to the combined height of the two adjacent text views

 

1 Ответ

1 голос
/ 12 июля 2020

Это странное поведение ConstraintLayout

Но я нашел альтернативу, чтобы размеры следовали правильно, используя Guideline

Добавление Guideline с шириной 20 процентов в ConstraintLayout

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent=".2" />

Сделайте layout_constraintEnd_toStartOf из ImageView точки на направляющую

<ImageView
    ...
    app:layout_constraintEnd_toStartOf="@id/guideline2"
    ... />

Удалите app:layout_constraintWidth_percent="0.2" из ImageView

Если оставить layout_constraintWidth_max из ImageView на 150dp, это ограничит его максимум 150dp, но если рекомендация предшествует 150dp, она будет следовать рекомендации как ограничение.

...