android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用
(期末要考啊)Android的menu(菜單)按鈕的使用
安卓
Android的菜單按鈕
使用xml的方式創(chuàng)建菜單項(xiàng)在res下的menu目錄下新建一個(gè)main.xml文件,以menu為根節(jié)點(diǎn),添加一個(gè)item就是菜單項(xiàng)
android:id="@+id/action_go"
android:orderInCategory="1"
android:title="前進(jìn)"/>
android:id="@+id/action_back"
android:orderInCategory="2"
android:title="后退"/>
android:id="@+id/action_refresh"
android:orderInCategory="3"
android:title="刷新"/>
在Activity中復(fù)寫onCreateOptionsMenu方法,將一個(gè)資源轉(zhuǎn)換成menu對(duì)象
//初始化當(dāng)前Activity的菜單項(xiàng)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//1.使用菜單填充器將一個(gè)菜單資源設(shè)置給menu對(duì)象
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
如果想要讓菜單項(xiàng)有點(diǎn)擊效果,需要復(fù)寫Activity的onMenuItemSelected方法,然后去獲取id,進(jìn)行id的對(duì)比。
//要想對(duì)菜單項(xiàng)設(shè)置點(diǎn)擊事件需要復(fù)寫一個(gè)方法
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
//獲取當(dāng)前點(diǎn)擊的菜單項(xiàng)的Id
switch (item.getItemId()) {
case R.menu.action_back?:
Toast.makeText(getApplicationContext(), "后退", 0).show();
break;
case R.menu.action_go:
Toast.makeText(getApplicationContext(), "前進(jìn)", 0).show();
break;
case R.menu.refresh:
Toast.makeText(getApplicationContext(), "刷新", 0).show();
break;
}
return super.onMenuItemSelected(featureId, item);
}
使用代碼的方式創(chuàng)建菜單使用代碼的方式來添加菜單選項(xiàng),就不用創(chuàng)建xml文件了,直接在onCreateOptionsMenu()方法中用menu.add()來添加菜單選項(xiàng)
//在Activity中復(fù)寫onCreateOptionsMenu方法,代碼添加一個(gè)menu的選項(xiàng) groupid:item所在的分組
itemId:選項(xiàng)id
order : 順序
title : 文本
menu.add(1, 0, 1, "示例");
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/* //1.使用菜單填充器將一個(gè)菜單資源設(shè)置給menu對(duì)象
getMenuInflater().inflate(R.menu.main, menu);*/
//2.使用代碼添加菜單項(xiàng) groupId:分組Id itemId:菜單項(xiàng)的Id orderId:菜單順序 title:文本
menu.add(0, 0, 1, "前進(jìn)");
menu.add(0, 1, 2, "后退");
menu.add(0, 2, 3, "刷新1");
return true;
}
在點(diǎn)擊菜單選項(xiàng)的時(shí)候我們應(yīng)該改成,與add()方法添加的 itemId 所對(duì)應(yīng)。
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
//獲取當(dāng)前點(diǎn)擊的菜單項(xiàng)的Id
switch (item.getItemId()) {
case 1:
Toast.makeText(getApplicationContext(), "后退", 0).show();
break;
case 0:
Toast.makeText(getApplicationContext(), "前進(jìn)", 0).show();
break;
case 2:
Toast.makeText(getApplicationContext(), "刷新", 0).show();
break;
}
return super.onMenuItemSelected(featureId, item);
}
屏蔽系統(tǒng)的菜單,彈出自己的dialog當(dāng)menu按鍵點(diǎn)擊時(shí)回調(diào)用onMenuOpend方法,會(huì)調(diào)用父類的防范返回一個(gè)true,可以直接返回false.不去調(diào)用系統(tǒng)的菜單
或者可以在該方法中定義自定義Dialog
/**當(dāng)點(diǎn)擊菜單按鍵時(shí)調(diào)用*/
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("aa");
builder.setMessage("bbb");
builder.show();
return false;
}
總結(jié)
以上是生活随笔為你收集整理的android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百香果茶的功效与作用、禁忌和食用方法
- 下一篇: android 运行在ui县城,Andr