Задать вопрос
@snitron
Учуcь программировать на Android, IOS и Unity.

Как менять размеры ConstraintLayout во время работы приложения?

Мне нужно при определённом условии убирать (height = 0) дочерний ConstraintLayout, а потом вновь показывать (height = match_constraint). Пробовал так:

Убрать:

val c = ConstraintSet()
                c.clone(constraintLayoutTable)
                c.constrainMaxHeight(R.id.constraintLayoutTableTitle, 0)
                c.constrainPercentHeight(R.id.constraintLayoutTableTitle, 0.0f)
                c.applyTo(constraintLayoutTable)


Вернуть:


val c = ConstraintSet()
                c.clone(constraintLayoutTable)
                c.constrainHeight(R.id.constraintLayoutTableTitle, ConstraintSet.MATCH_CONSTRAINT)
                c.constrainMaxHeight(R.id.constraintLayoutTableTitle, 100)
                c.constrainPercentHeight(R.id.constraintLayoutTableTitle, 100.0f)
                c.applyTo(constraintLayoutTable)


Вышеперечисленные методы не работают.

Разметка элемента constraintLayoutTableTitle

<android.support.constraint.ConstraintLayout
        android:id="@+id/constraintLayoutTableTitle"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/textView13"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="12dp"
            android:layout_marginBottom="8dp"
            android:text="I"
            android:textSize="24sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:text="I" />

        <TextView
            android:id="@+id/textView14"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            android:text="Test"
            android:textSize="24sp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/textView13"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@sputnic
Android Developer
для ConstraintLayout 0dp и MATCH_CONSTRAINT это одно и то же. Почему через Visibility не делаете?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы