显示菜单的方法:在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();
}
}
示例: