一 . activity可以设置两种主题:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不要TitleBar和StatusBar
android:theme="@android:style/Theme.NoTitleBar" //不要TitleBar
optionmeun和app_name都在TitleBar内,若使用其一,则optionmeun和app_name均不可见。
二 . 使用xml文件显示处理optionmeun
1. 新建res/menu/demo_main_menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.administrator.myapplication.MainActivity">
<item
android:id="@+id/one"
android:orderInCategory="100"
android:title="菜单一"
android:icon ="@android:drawable/ic_menu_set_as"
android:showAsAction="never"/> //此处不填never,该菜单会显示在该区域内
<item
android:id="@+id/two"
android:orderInCategory="200"
android:title="菜单二"
android:showAsAction="never"/>
<item
android:id="@+id/three"
android:orderInCategory="300"
android:title="菜单三"
android:showAsAction="never"/>
</menu>
2. activity内添加上述xml文件
//用于创建选项菜单的事件方法,在打开界面时会被自动调用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getMenuInflater(),获取一个菜单填充器
getMenuInflater().inflate(R.menu.demo_main_menu, menu);
return true;
}
3. activity内的点击回应
//菜单选项的单击事件处理
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case R.id.one:
Toast.makeText(this,"打开菜单一",Toast.LENGTH_SHORT).show();
break;
case R.id.two:
Toast.makeText(this,"打开菜单二",Toast.LENGTH_SHORT).show();
break;
case R.id.three:
Toast.makeText(this,"打开菜单三",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
三. 以上是通过xml文件添加的,也可以通过代码添加:在activity内
//用于创建选项菜单的事件方法,在打开界面时会被自动调用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 100, 1, "菜单一");
menu.add(0, 200, 2, "菜单二");
menu.add(0, 300, 3, "菜单三");
return true;
}
当然,activity内也要添加点击回应。
参考: