Если вы видите документацию по Group на веб-сайте разработчика , кажется, что группировка отвечает за видимость и повышение.
Этот класс управляет видимостью набора ссылочные виджеты. [...] Видимость группы будет применена к ссылочным виджетам. Это удобный способ легко скрыть / показать набор виджетов без необходимости поддерживать этот набор программно.
Идея состоит в том, что если не все представления имеют одинаковую видимость и высоту, то они вполне возможно не должен принадлежать к той же группе.
Класс Constraint Helper по умолчанию, отвечающий за настройку видимости представлений в группе, похоже, применяет одно и то же значение ко всем дочерним элементам группы, поэтому вы не сможете переопределить его отдельно для некоторых представлений. ,
Это соответствующий код в помощнике по умолчанию:
public void updatePreLayout(ConstraintLayout container) {
int visibility = getVisibility();
float elevation = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
elevation = getElevation();
}
for (int i = 0; i < mCount; i++) {
int id = mIds[i];
View view = container.getViewById(id);
if (view != null) {
view.setVisibility(visibility);
if (elevation > 0 && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
view.setElevation(elevation);
}
}
}
}
( источник )
Чтобы достичь желаемого, вам нужно либо нужно создать несколько групп, одна из которых включает в себя индивидуальное представление, которое вы хотите изменить среди других, а другая - со всеми представлениями вместе. Если вы хотите изменить видимость одного представления, вы измените видимость своей небольшой группы, в противном случае вы измените видимость группы, которая содержит их все.
В вашем случае, когда у вас есть только два вида, это кажется нелепой идеей. Поэтому я думаю, что в качестве альтернативы вам придется создать свой собственный помощник по ограничениям.
РЕДАКТИРОВАТЬ: Вот обсуждение на ту же тему c