#android #android-layout #android-menu
#Android #android-макет #android-меню
Вопрос:
Я читаю разные сообщения, разные вещи и никогда не нахожу ответа. Я пытаюсь создать простое меню с надписью «…» в правом верхнем углу моего основного приложения Compatactivity.
Я создаю свой XML-файл
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:title="Settings"
android:icon="@mipmap/ic_settings" android:id="@ id/MnuSettings" />
</menu>
Я не могу добавить это меню в свой основной AppCompatActivity. Я пробую разные вещи.
Я делаю это в своей основной «деятельности по верстке».
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
Я стараюсь включить в свой основной макет …
Я уверен, что мы можем добавить меню ко всему макету, но я не знаю, как это сделать, и ничего не нахожу.
Кто-нибудь может мне помочь, пожалуйста.
Нужно ли мне было создавать что-то в manifest.xml для меню. Нужно ли мне было что-то добавлять в xml моего файла макета?.. никогда не найдешь ответа .. 🙁
Комментарии:
1. androidhive.info/2011/09/how-to-create-android-menus и это developer.android.com/guide/topics/ui/menus . html и, вероятно, тысяча других
Ответ №1:
Предположим, что ваше меню вызвано xml menu_main
. Измените его на следующее,
<item android:title="Settings"
android:icon="@mipmap/ic_settings"
android:id="@ id/MnuSettings"
android:title="Settings"
app:showAsAction="never"/>
Затем измените onCreateOptionsMenu на это
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
Ответ №2:
Я нашел то, что искал, в приведенном ниже руководстве.
Мне не хватало панели инструментов в моей основной папке макета
<android.support.v7.widget.Toolbar
android:id="@ id/SettingToolBar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/AlertDialog.AppCompat.Light">
После этого мне понадобилось это в моем onCreate моей основной деятельности
Toolbar toolbar = (Toolbar)findViewById(R.id.SettingToolBar);
setSupportActionBar(toolbar);
Наконец
onCreateOptionsMenu(Menu menu)
, будет вызван.
Учебник.
https://developer.android.com/training/appbar/setting-up.html