2016-10-16 32 views
1

我閱讀不同的帖子,不同的東西,永遠找不到答案。我嘗試在我的主AppCompatActivity的右上角創建一個帶「...」的簡單菜單。如何在Android工作菜單

創建我的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 ...永遠也找不到答案.. :-(

+0

http://www.androidhive.info/2011/09/how-to-create-android-menus/這https://developer.android.com/guide/topics/ui/ menus.html和大概一千個其他人 – Eenvincible

回答

2

假設你的菜單中的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; 
    } 
1

我在教程下面找到了我正在搜索的東西。

我缺少的工具欄在我的主要佈局文件夾

<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