Restricción del layout de la falla intermitente del layout

ConstraintLayout falla de forma intermitente al layout correctamente cuando una vista se establece de GONE a VISIBLE poco después de que se reanude una actividad:

 <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 ) } 

Código fuente completo aquí

La instrumentación de la class TextView revela que las instancias de TextView se miden correctamente, pero su ancho se establece en 0 cuando se distribuyen.

Me pregunto si el LinearSystem no es determinista. ¿Hay maps que se repiten cuando el order de iteración no está definido? (He visto esto con Cassowary)

Estoy buscando su statement en la página de github :

ConstraintLayout falla de forma intermitente al layout correctamente cuando una vista se establece de GONE a VISIBLE poco después de que se reanude una actividad

Revisé tu proyecto y cambié 100ms a 1000ms. Aquí está el resultado:

enter image description here

Me parece que espera que en el momento en que realice textview.setVisibility(View.GONE) espere que la vista no sea visible. Esa no es la forma en que funciona Android. Simplemente está publicando un evento en el MessageQueue que Looper manejaría más adelante, y estos 100ms no son suficientes para que el ojo humano vea esos cambios.

Este fue un error en el RestraintLayout corregido en constraint-layout:1.1.0-beta2 https://issuetracker.google.com/issues/65613481

  • Cómo corregir recrear mediante progtwigción Layout
  • Botones de acceso del layout inflados programáticamente dentro de otro layout
  • Después de agregar layouts mediante progtwigción, ¿cómo puedo cambiar la vista de text "#" con el button?
  • Obtener el porcentaje de orientación en píxeles mediante progtwigción
  • Diferencia entre protegido y sin
  • cómo hacer clic en el enlace de URL en TextView en Android sin usar java
  • ¿Cómo explicar este extraño comportamiento al establecer márgenes programáticamente a una vista dentro de RelativeLayout?
  • No se puede "findViewById" en Kotlin. Obteniendo el error "Falló la inferencia de tipo"
  • Crear paginador de visualización mediante progtwigción en la barra de tabs, pero el contenido de paginador de vista se desplaza por las tabs