View.GONE не работает на определенных дочерних элементах "Constraint.Group" - PullRequest
0 голосов
/ 27 апреля 2018

Я экспериментирую с "Constraint.Group", и у меня есть дети: A, B, C.

В коде "Constraint.Group".visibility = View.Gone работает, но если я выберу A.visibility = View.Gone, это не повлияет на представление детей. Это нормальное поведение?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Я согласен с Cheticamp и хотел бы добавить, что вы должны переключать видимость по отдельности, как он сказал, или либо создать общую группу, чтобы изменить все представления внутри, и локальную группу, чтобы изменить только конкретное представление, как показано ниже:

<ImageView
    android:id="@+id/view1"
    android:layout_width="0dp"
    android:layout_height="0dp"
    />

<ImageView
    android:id="@+id/view2"
    android:layout_width="0dp"
    android:layout_height="0dp"
    />

<android.support.constraint.Group
        android:id="@+id/group1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible"
        app:constraint_referenced_ids="view1,view2" />

<android.support.constraint.Group
        android:id="@+id/group2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:constraint_referenced_ids="view1" />

Невозможно изменить видимость одного представления, находящегося внутри группы, но таким образом вы можете изменить видимость group1 или group2.

0 голосов
/ 27 апреля 2018

Похоже, видимость группы превосходит видимость отдельных видов группы. Это имеет смысл, поскольку для каждого представления определена определенная видимость (gone, visible, invisible), поэтому, если соблюдена настройка видимости отдельного представления, целостность группы будет нарушена. Другими словами, индивидуальное представление, для которого мы изменяем видимость, по сути, не будет частью группы.

...