Cómo cambiar el ancho de un elemento secundario FlexBox después de agregarlo a FlexBox

Tenemos un layout lineal con un button y una Vista (una línea que separa el button de otras vistas). Estamos agregando linearLayout a un elemento flexBox programáticamente y configurando FlexGrow en el niño en 1f. El problema es que no puedo hacer que el button interno coincida con el ancho del layout lineal principal y establecer el ancho mínimo al mismo time.

Cuando configuro el ancho de los botones (en xml) para match_parent, el elemento principal termina siendo tan grande como el text en el button (debe ser aproximadamente un 20% más grande en caso de que el text cambie). En este caso, setMinnimumWidth () parece no tener ningún efecto.

Pero cuando configuro el ancho de los botones (en xml) a WrapContent, el setMinimumWidth () funciona. El button se muestra como el tamaño correcto pero el elemento principal es mucho más grande que el button (supuestamente para completar el espacio restante en la fila de flexBox.

¿Cómo puedo hacer que el button y su elemento primario tengan el mismo tamaño y también que se pueda establecer el ancho mínimo?

xml para el elemento que estamos agregando flexbox,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:orientation="vertical" android:paddingLeft="6dp" android:paddingRight="6dp" android:paddingBottom="16dp" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button_date_time" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="DATE" android:gravity="left|center_vertical" android:background="@android:color/transparent" android:drawableRight="@drawable/caret"/> <View android:layout_width="match_parent" android:layout_height="1dp" android:paddingTop="2dp" android:background="@android:color/darker_gray"/> </LinearLayout> 

Código que agrega el elemento y establece el ancho

 val button = linearLayout.findViewById(R.id.button_id) as Button button.width = width button.minimumWidth = width flexBox.addView(linearLayout) val layoutParams = linearLayout.layoutParams layoutParams.width = width linearLayout.layoutParams = layoutParams linearLayout.invalidate() linearLayout.requestLayout() 

el código está en kotlin.