Возможно ли иметь два разных макета для разных случаев в одной и той же деятельности или мне нужно использовать intent
для вызова другого activity
с другим макетом
Два разных макета для одного вида деятельности
Ответ 1
Да, это возможно. Вы можете использовать как можно больше макетов для одного действия, но, очевидно, не одновременно. Вы можете использовать что-то вроде:
if (Case_A)
setContentView(R.layout.layout1);
else if (Case_B)
setContentView(R.layout.layout2);
и т.д.
Ответ 2
Да, это также возможно с корпусом переключателя
Я уже пробовал этот код....
switch (condition) {
case 1:
setContentView(R.layout.layout1);
break;
case 2:
setContentView(R.layout.layout2);
break;
case 3:
setContentView(R.layout.layout3);
break;
default:
setContentView(R.layout.main);
break;
}
Ответ 3
Я предлагаю использовать Fragments
Будет полезно, если вы сможете объяснить больше, чтобы найти другие решения, если вы не согласны с фрагментами
Изменить
Использовать библиотеки поддержки Android для поддержки более низких версий ОС
Edit2
если вы хотите использовать два xml, вы можете объединить два xml в один и использовать его
<include layout="@layout/YOURXMLNAME1" />
<include layout="@layout/YOURXMLNAME2" />
это также полезно при повторном использовании макета во многих случаях
Ответ 4
Вы можете ссылаться на эту ссылку
Ответ 5
Вот лучшее решение для вас ViewFlipper.
ViewFlipper - это простой ViewAnimator, который будет анимировать между двумя или более видами, которые были добавлены к нему. Одновременно отображается только один ребенок. Если требуется, вы можете автоматически переключаться между каждым ребенком с регулярным интервалом. Здесь - хороший пример viewflipper.
Вы также можете посмотреть this.
EDIT: - fooobar.com/info/199255/...