您的位置:首页 > 移动开发 > Android开发

Android界面编程之Menu(菜单)

2017-12-22 22:06 585 查看
显示菜单的方法:在MainActivity种定义如下方法:

public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.mymenu,menu);
return super.onCreateOptionsMenu(menu);
}


创建Menu文件:





<?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:id="@+id/menu_seeting"
android:orderInCategory="100"
app:showAsAction="never"
android:title="Settings" />
<item android:id="@+id/menu_color"
android:title="设置背景颜色">
<menu>
<group>
<item android:id="@+id/Accent"
android:title="Accent"/>
<item android:id="@+id/Primary"
android:title="Primary"/>
<item android:id="@+id/PrimaryDark"
android:title="PrimaryDark"/>
</group>
</menu>
</item>
<item android:id="@+id/menu_turn"
android:title="openDialog"/>
</menu>


MainActivity:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.mymenu,menu); return super.onCreateOptionsMenu(menu); }
public boolean onOptionsItemSelected(MenuItem item){
TextView textView =(TextView)findViewById(R.id.info);
switch (item.getItemId()){
case R.id.Accent:
textView.setBackgroundResource(R.color.colorAccent);
break;
case R.id.Primary:
textView.setBackgroundResource(R.color.colorPrimary);
break;
case R.id.PrimaryDark:
textView.setBackgroundResource(R.color.colorPrimaryDark);
break;
case R.id.menu_turn:
openDialog(null);
break;
case R.id.menu_seeting:
Toast.makeText(this,"你单击了设置菜单",Toast.LENGTH_LONG).show();
break;
}

return true;
}

public void openDialog(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("加薪消息");
builder.setMessage("听说要涨工资了,不知道是真的还是假的");
builder.setNegativeButton("真的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplication(), "你是天使,会说准的",
Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("假的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getApplication(), "闭嘴,知道乌鸦是怎么死的码?",
Toast.LENGTH_SHORT).show();
}
});
builder.create();
builder.show();
}
}


示例:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 界面 编程 menu