Как я могу ограничить вид в центре другого вида снизу? - PullRequest
0 голосов
/ 20 мая 2019

Мне бы хотелось, чтобы изображение всегда было идеально отцентрировано сверху нижней части другого изображения.

Моей первой мыслью было установить нижнее ограничение фонового изображения, например, 100dp из другого вида, а затем нижнее ограничение фонового изображения равным 50dp из того же вида и установить его высоту равной 100dp. Таким образом, он всегда будет в центре нижнего центра фонового изображения, но я делаю вид переднего плана не адаптивным, назначая ему фиксированный размер, чего я бы хотел избежать.

Еще одна мысль, которая у меня была, заключалась в том, чтобы ограничить верхнюю и нижнюю часть изображения на переднем плане к нижней части фонового изображения, но затем вид просто рухнул. Я не могу найти какие-либо настройки, которые позволили бы этому работать.

* Мне нужно сохранить соотношение для изображения на переднем плане.

Ответы [ 3 ]

0 голосов
/ 20 мая 2019

Я нашел ответ здесь:

https://gist.github.com/writtmeyer/f5971266394b2316eb01b566cdeff2a0

Он предлагает умный способ при использовании фиктивного представления.

0 голосов
/ 20 мая 2019

Я думаю, это то, что вы ищете.

<ImageView
    android:id="@+id/backgroundImage"
    android:layout_width="150dp"
    android:layout_height="150dp"
    app:srcCompat="@mipmap/ic_launcher" />

<ImageView
    android:id="@+id/foregroundImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="@id/backgroundImage"
    app:layout_constraintEnd_toEndOf="@id/backgroundImage"
    app:layout_constraintStart_toStartOf="@id/backgroundImage"
    app:layout_constraintTop_toTopOf="@id/backgroundImage"
    app:srcCompat="@mipmap/ic_launcher"/>
0 голосов
/ 20 мая 2019

Вы можете сделать это, ограничив свой взгляд началом и концом цели, чтобы она оставалась центрированной по ней.Вот образец:

<View
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@+id/targetView"
    app:layout_constraintStart_toStartOf="@+id/targetView"
    app:layout_constraintEnd_toEndOf="@+id/targetView" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...