使用一个 main.xml 用于不同的活动操作栏
Using one main.xml for different activities action bar
我正在开发一个在操作栏上显示按钮的应用程序。我现在正在做的只是将项目添加到 main.xml 下 menu folder.But 我所以如果在 main.xml 所以如果膨胀任何 activity 的 main.xml 它会显示 3 个项目,但我只想要一个项目那么有什么方法可以让我不必创建不同的 xml 文件。
代码如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
/** define action for the action bar button*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
finish();
overridePendingTransition(R.anim.slide_enter, R.anim.slide_exit);
break;
case R.id.action_create:
fname=et_fname.getText().toString();
lname=et_lname.getText().toString();
email=et_email.getText().toString();
password=et_password.getText().toString();
IsValid();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
实现此目的的一种方法是在菜单文件中使用组
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group
android:id="@+id/main_menu_group">
<item android:id="@+id/action_create"
android:title="Create"
android:icon="R.drawable.ic_action_create"
android:showAsAction="ifRoom"/>
</group>
</menu>
那么,
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.custom_actionbar, menu);
menu.setGroupVisible(R.id.main_menu_group,true);
}
}
我正在开发一个在操作栏上显示按钮的应用程序。我现在正在做的只是将项目添加到 main.xml 下 menu folder.But 我所以如果在 main.xml 所以如果膨胀任何 activity 的 main.xml 它会显示 3 个项目,但我只想要一个项目那么有什么方法可以让我不必创建不同的 xml 文件。
代码如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
/** define action for the action bar button*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
finish();
overridePendingTransition(R.anim.slide_enter, R.anim.slide_exit);
break;
case R.id.action_create:
fname=et_fname.getText().toString();
lname=et_lname.getText().toString();
email=et_email.getText().toString();
password=et_password.getText().toString();
IsValid();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
实现此目的的一种方法是在菜单文件中使用组
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group
android:id="@+id/main_menu_group">
<item android:id="@+id/action_create"
android:title="Create"
android:icon="R.drawable.ic_action_create"
android:showAsAction="ifRoom"/>
</group>
</menu>
那么,
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.custom_actionbar, menu);
menu.setGroupVisible(R.id.main_menu_group,true);
}
}