Я довольно новичок в развитии Android, о чем вы, наверное, можете рассказать по моему вопросу. Я обнаружил, что у меня есть папка res / menu и папка res / layout. Оба они содержат XML-файлы для каждого вида деятельности. Но я никогда не использовал папку res / menu. Я делаю все свое стилирование в res / layout. Что мне делать в xml-файлах в res / menu?
Он предназначен для использования с menuInflater для создания меню в методе onCreateOptionsMenu вашей деятельности.
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }
В этом примере main.xml может выглядеть так:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_item_1" android:title="@string/menu_title2"> </item> <item android:id="@+id/menu_item_2" android:title="@string/menu_title2"> </item> </menu>
И действие, которое нужно предпринять при нажатии одного из пунктов меню, может быть реализовано путем переопределения метода onOptionsItemSelected, возможно, так:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case (R.id.menu_item_1): this.startActivity(new Intent(this, MyFirstActivity.class)); return true; case (R.id.menu_item_2): this.startActivity(new Intent(this, MySecondActivity.class)); return true; default: return super.onOptionsItemSelected(item); } }
Папка меню, такая же явная, как и ее имя, используется для хранения xml
файлов, используемых для управления меню с помощью xml, вместо того, чтобы делать это программно.
Простой и хороший тату для этого
Меню в Android – это то, что вытаскивается в нижней части экрана, когда нажата нижняя часть меню. Это меню создано в классе вашей деятельности в классе onCreateOptionsMenu:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }
Как вы можете видеть, в этом случае R.menu.main «раздувается». R.menu.main – это просто файл с именем main.xml под папкой res / menu. Пример XML-файла меню будет выглядеть примерно так:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_item_1" android:title="Menu Item"> </item> </menu>
Этот xml-файл создает меню с одним щелчком мыши: Пункт меню
Файл макета андроида используется для создания макета вашей деятельности. В примере onCreate:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
SetContentView () запрашивает идентификатор файла макета. R.layout.main – это файл, расположенный в res / layout с именем main.xml. Этот код устанавливает компоновку этой активности так, как указано в main.xml.
Почти все Android-IDE, включая Eclipse, по умолчанию создают как макет, так и папку меню.