●實作練習:預期畫面
●建立一個xml menu(Defining a Menu in XML)
1.對res按右鍵=>New=>Android Resource Directory
2.Resource type 選定為menu,會自動帶入Directory name
3.對已建立的menu directory按右鍵=>New=>Menu resource file
4.輸入file name,完成menu xml的建立
●程式-- mymenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu1"
android:icon="@android:drawable/ic_dialog_email"
android:title="@string/option1"
app:showAsAction="ifRoom|collapseActionView" />
<item
android:id="@+id/menu2"
android:title="option2"
tools:ignore="HardcodedText" />
</menu>
●程式-- java code
@Override //利用程式產生options menu
//這個方法會傳入一個menu物件(就是三個點)
public boolean onCreateOptionsMenu(Menu menu) {
//增加選單(作法一)
//menu.add("option1");
//menu.add("option2");
//增加選單更好的做法(作法二)
//menu.add(0,1,0,"option1");
//menu.add(0,2,0,"otpion2");
//用resource file設定option menu的作法(作法三)
getMenuInflater().inflate(R.menu.mymenu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override //偵測哪一個選單被按下,會傳回item
public boolean onOptionsItemSelected(MenuItem item) {
//這邊的id是R檔中的id
if(item.getItemId()==R.id.menu1){
Toast
.makeText(this,"option1 is selected",Toast.LENGTH_SHORT)
.show();
}
if(item.getItemId()==R.id.menu2){
Toast
.makeText(this,"option2 is selected",Toast.LENGTH_SHORT)
.show();
}
return super.onOptionsItemSelected(item);
}
}
●程式參考(GitHub):How to create Options Menu in Android
文章標籤
全站熱搜
留言列表