es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Al agregar un LinearLayout a ConstraintLayout, desaparecen los TextViews.

Creé un archivo xml de plantilla LinearLayout, que tiene una ImageView y 2 TextViews, y estoy intentando agregarlo a mi ConstraintLayout programáticamente. Si lo agrego a un LinearLayout:

val layout: LinearLayout = root.findViewById(R.id.linearLayoutBlockSequence)

val inflater = LayoutInflater.from(context)
val linearLayout = inflater.inflate(R.layout.linearlayout_block, null, false) as LinearLayout
linearLayout.id = View.generateViewId()

layout.addView(linearLayout)

Funciona bien:

Pero cuando lo agrego a mi ConstraintLayout:

val constraintLayout: ConstraintLayout = root.findViewById(R.id.constraintLayoutBlockSequence)

val inflater = LayoutInflater.from(context)
val linearLayout = inflater.inflate(R.layout.linearlayout_block, null, false) as LinearLayout
linearLayout.id = View.generateViewId()

constraintLayout.addView(linearLayout)

val constraintSet = ConstraintSet()
constraintSet.clone(constraintLayout)
constraintSet.connect(linearLayout.id, ConstraintSet.TOP, R.id.linearLayoutBlockSequence, ConstraintSet.BOTTOM, 0)
constraintSet.connect(linearLayout.id, ConstraintSet.END, R.id.constraintLayoutBlockSequence, ConstraintSet.END, 0)
constraintSet.connect(linearLayout.id, ConstraintSet.START, R.id.constraintLayoutBlockSequence, ConstraintSet.START, 0)

constraintSet.applyTo(constraintLayout)

Los TextViews ya no están allí:

¿Qué estoy haciendo mal?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema podría ser que los TextViews están siendo restringidos fuera del área visible del ConstraintLayout. Verifique si los TextViews están recibiendo restricciones correctas, como topToBottomOf y startToEndOf, o si se están restringiendo accidentalmente fuera de los límites del diseño. Además, asegúrese de que los atributos layout_width y layout_height de los TextViews estén configurados correctamente. También podría ser útil verificar si hay restricciones conflictivas en el ConstraintLayout, especialmente con el LinearLayout que se agregó programáticamente.

Comments are closed.