Два разных макета для одного вида деятельности - программирование
Подтвердить что ты не робот

Два разных макета для одного вида деятельности

Возможно ли иметь два разных макета для разных случаев в одной и той же деятельности или мне нужно использовать intent для вызова другого activity с другим макетом

4b9b3361

Ответ 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" />

это также полезно при повторном использовании макета во многих случаях

Ответ 5

Вот лучшее решение для вас ViewFlipper.
ViewFlipper - это простой ViewAnimator, который будет анимировать между двумя или более видами, которые были добавлены к нему. Одновременно отображается только один ребенок. Если требуется, вы можете автоматически переключаться между каждым ребенком с регулярным интервалом. Здесь - хороший пример viewflipper.
Вы также можете посмотреть this.
EDIT: - fooobar.com/info/199255/...