android 右上角新增選單
阿新 • • 發佈:2019-02-13
一般如果不把標題欄隱藏(預設是顯示的), UI的右上角會有一個預設選單settings,並沒起什麼作用。
順便說一下隱藏標題欄的三種做法:
1.在程式碼裡實現
- this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄
2.在清單檔案(manifest.xml)裡面實現
- <application android:icon="@drawable/icon"
- android:label="@string/app_name"
- android:theme="@android:style/Theme.NoTitleBar"
3.在style.xml檔案裡定義
- <?xmlversion="1.0"encoding="UTF-8"?>
- <resources>
- <stylename="notitle">
- <itemname="android:windowNoTitle">true</item>
- </style>
- </resources>
- <
- android:label="@string/app_name"
- android:theme="@style/notitle">
跑題了,我只是想做個筆記,哈哈。
迴歸正題:
新增選單也有兩種,在xml檔案裡和在程式碼裡新增。
1.xml形式,首先在res/menu目錄下新建一個自定義的選單info.xml,名字隨便:
關於自定義選單,這裡只是最簡單的形式,還有subitem, groupitem等。<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/quit1" android:orderInCategory="100" android:showAsAction="never" android:title="Back"/> </menu>
在MainActivity.java檔案裡:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.info, menu);
//menu.add(1, Menu.FIRST, 1, "Change Site ID");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.quit1:
super.finish();
System.exit(0);
return true;
default:
return false;
}
}
2.在程式碼裡新增選單,一般實現動態新增選單
在MainActivity.java檔案裡:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.info, menu); //初始化載入選單項
menu.add(1, Menu.FIRST, 1, "Change Site ID"); //四個引數,groupid, itemid, orderid, title
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case 1: //Menu.FIRST對應itemid為1
super.finish();
System.exit(0);
return true;
default:
return false;
}
}