Изменение макета / внешнего вида приложения через настройки в Kotlin / Android - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь позволить пользователю изменить макет Основной активности через настройки. Так, например, кто-то может выбрать самый новый макет или оригинальный старый макет. Что было бы лучшим способом сделать это. Спасибо.

1 Ответ

0 голосов
/ 26 апреля 2019

Все ваши макеты должны иметь одинаковое количество просмотров и идентичные идентификаторы.

Если вы это сделаете, то можете иметь ConstraintLayout в качестве корневого макета и создавать клоны макета с дочерними элементами, расположенными по-разному. Затем, основываясь на настройке, вы примените ограничения от конкретного макета к основному макету.

Проверьте это для справки

Context context = this;
mConstraintSet2.clone(context, R.layout.state2); // get constraints from layout
setContentView(R.layout.state1);
mConstraintLayout = (ConstraintLayout) findViewById(R.id.activity_main);
mConstraintSet2.applyTo(mConstraintLayout)
...