Что касается вашего первого экрана , он зависит от активности и запускается непосредственно при запуске проекта. Например, если у вас есть проект с именем FooFoo , то при компиляции / сборке вашего проекта Android сам Android называет первый класс как FooFooActivity (т. Е. Если вы разрешили android создать активность из этого). Конечно, вы можете переименовать , это тогда и там само. Итак, как только вы скомпилируете свой пользовательский интерфейс в файле main.xml
по умолчанию и вернетесь к своему java-файлу FooFooActivity
, внутри метода onCreate
будет определенная строка. Эта строка setContentView(R.layout.main);
Эта строка устанавливает представление содержимого , присутствующего внутри этого main.xml файла. Когда вы запускаете программу и запускаете эмулятор, эмулятор отображает ваш main.xml
, если ваш проект не содержит компиляцию или ошибок времени выполнения .
Теперь перейдем к 20+ макетам : вы можете иметь их все в папке макетов. Назначьте по крайней мере один button
на каждом экране, который приведет вас к некоторому экрану, скажем «XYZ», и давайте предположим, что имя класса - «ABC». Предположим также, что ваш класс FooFooActivity переводит вас в этот класс ABC. Следующие шаги помогут вам выполнить навигационную часть.
I. Внутри onCreate
метода вашего класса FooFooActivity у вас уже есть setContentView
. Теперь, после этой строки, добавьте следующие строки:
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(FooFooActivity.this, ABC.class);
startActivity(intent);
}
});
По Передав намерение , вы можете направить себя / своего пользователя к нужному экрану / деятельности.
II. Помните, что в вашем классе ABC подразумевайте тот же метод onCreate
и поместите свой XYZ-макет в setContentView
следующим образом: setContentView(R.layout.XYZ);
III. В вашем файле манифеста, после вашего
<activity
android:label="@string/app_name"
android:name=".FooFooActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
добавить следующее:
<activity
android:name=".ABC"
android:label="@string/app_name"
>
</activity>
Как только вы закончите с этими шагами, запустите вашу программу.
Обратите внимание, что это просто для отображения 2 экрана для вашего пользователя. Вам нужно повторить это более 20 раз. Я не знаю / не вижу другого пути.
Что касается ваших макетов, я бы предложил вам придерживаться Относительный макет или Линейный макет . Как правило, большинство «нормальных» макетов может быть достигнуто с помощью одного из них или их комбинации. Если вы хотите больше, вы всегда можете найти помощь на сайте разработчиков Android или Stack Overflow . Во всяком случае, есть много других вещей, которые я не смог здесь объяснить, но собираюсь в свое время. Вы всегда можете обратиться к великим книгам, таким как Hello Android , Программирование Android и Learning Android . Даже CommonsWare - у Марка Мерфи есть его набор книг, которые довольно популярны. Вы всегда можете начать с любого из них.
Надеюсь, это поможет. Всего наилучшего!
РЕДАКТИРОВАТЬ В СООТВЕТСТВИИ С ВАШИМ ОБНОВЛЕНИЕМ:
Конечно, он вернет последнее действие, потому что я предполагаю, что у вас есть следующий фрагмент кода с вашей кнопкой выхода:
Button exit = (Button)findViewById(R.id.button2);
exit.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
finish();
}
});
Итак, в основном вы заканчиваете эту конкретную ABC / Main Activity. Это означает, что Android перенесет вас на предыдущий экран / активность. Это все. Если вы сохраните один и тот же макет и планируете использовать его для различных действий, все просто запутается. С двумя экранами / действиями это достаточно запутанно для вас. Представьте, что может случиться с 20+. Ну, в конечном итоге дизайн остается за вами. Это все, что я могу сказать.