ConstraintLayout прерывистый сбой макета

ConstraintLayout прерывается с ошибкой при правильном представлении представления с GONE до VISIBLE вскоре после возобновления действия:

 <android.support.constraint.ConstraintLayout android:id="@+id/constraint_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent"/> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintLeft_toRightOf="@id/text1" app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout> override fun onResume() { super.onResume() text1.text = "" text1.visibility = View.GONE text2.text = "" text2.visibility = View.GONE text1.postDelayed({ text1.text = "Hello" text1.visibility = View.VISIBLE text2.text = "World" text2.visibility = View.VISIBLE }, 100 ) } 

Полный исходный код здесь

Инструментарий класса TextView показывает, что экземпляры TextView правильно измеряются, но их ширина устанавливается равной 0, когда они выложены.

Интересно, является ли ConstraintLayout LinearSystem недетерминированным. Существуют ли карты, которые повторяются, где порядок итераций не определен? (Я видел это с Cassowary)

Я ищу ваше заявление на странице github :

ConstraintLayout периодически перестает правильно компоноваться, когда представление устанавливается с GONE на VISIBLE вскоре после возобновления активности

Я проверил ваш проект и изменил 100 мс на 1000 мс. Вот результат:

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

Мне кажется, что вы ожидаете, что в тот момент, когда вы выполняете textview.setVisibility(View.GONE) вы ожидаете, что представление не будет видно. Это не так, как работает андроид. Вы просто отправляете событие MessageQueue , которое будет обрабатываться позже Looper , и этого 100 мс недостаточно для человеческого глаза, чтобы увидеть, что эти изменения происходят.

Это была ошибка в ConstraintLayout, зафиксированная в constraint-layout:1.1.0-beta2 https://issuetracker.google.com/issues/65613481

Intereting Posts
Получить FragmentManager внутри AndroidViewModel RxJava: Отменить подписку async, наблюдаемую из другого асинхронного производства Android Dagger 2.11 с Kotlin, ContributesAndroidInjector Аннотация Весенняя ботинок Kotlin Jersey ModelValidationException Как использовать Mockito для фрагмента Kotlin / Activity для извлечения kotlinx.android.synthetic views Kotlin Любые с lambdas Android View получает оригинал «Wrap Content» Размер моего представления Android Studio Version 3.0 Канальные каналы, не предоставляющие библиотеки поддержки Настроить аргументы компилятора Kotlin anko обычный селектор не работает, как в приведенных примерах Запуск тестов юнита, написанных в Котлине с аннотацией @category Конвертировать проект Android для использования Gradle Script Kotlin kotlin, как упростить передачу параметров в конструктор базового класса? Компонент (не облачный) может не ссылаться на привязки с привязкой Как преобразовать метод класса <T> #cast из Java в Kotlin?