Что случилось с макетом ограничений и его атрибутом соотношения размеров в версии 2.0.2?

#android #android-constraintlayout

#Android #android-constraintlayout

Вопрос:

У меня есть настройка ImageView следующим образом

 <ImageView
    android:layout_width="0dp"
    android:layout_height="@dimen/video_file_item_image_height"
    android:background="@color/black"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintDimensionRatio="16:9"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
  

с

 implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
  

это выглядит так

введите описание изображения здесь

но с

 implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
  

ImageView не отображается

введите описание изображения здесь

Обновить

Версия 2.0.3 это все еще не исправлено, оно работает только в том случае, если вы не устанавливаете dp для высоты (например, вы устанавливаете wrap_content вместо этого) и app:layout_constraintEnd_toEndOf= также требуется, но тогда это работает по-другому, мне нужно установить высоту в DPI! Он работал так в 2.0.1 и app:layout_constraintEnd_toEndOf= не требовал установки

Комментарии:

1. Что показывает инспектор компоновки Android Studio, это размер ImageView ?

2. @CommonsWare ширина 0, высота 131

3. Что произойдет, если вы используете "W,16:9" для значения?

4. @BenP. Я уже пробовал, но ничего не меняется

Ответ №1:

Похоже, это известная проблема: https://issuetracker.google.com/issues/170313444

Рекомендуемый обходной путь — добавить это в свой ConstraintLayout тег:

 app:layout_optimizationLevel="cache_measures"
  

Комментарии:

1. У меня также есть аналогичная проблема с приложением: layout_constraintDimensionRatio=»h, 2: 3″ на Android TV, где портретные изображения обрезаются снизу. Проблема обнаружилась после того, как я обновил макет ограничений до 2.0.1, раньше он работал на 1.1.3. Приведенное выше решение также мне не помогает. Удивительно, но тот же макет работает на мобильных устройствах.