android actionbar用于多个活动

时间:2014-08-06 03:40:32

标签: android android-actionbar

我的应用程序有多个屏幕(ViewPager,Activities)。 我的问题是如何在每个屏幕中显示不同的操作栏?

多个xml文件?

一个xml文件并添加/替换现有文件?

由于

1 个答案:

答案 0 :(得分:1)

如果您不想更改主题,并且每个活动只需要不同的操作项,您只需为每个活动充气不同的菜单项即可

在src / menu / activity_one.xml下创建新文件(如果菜单目录不存在则创建一个) 并将菜单项放在上面。这是一个例子

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_flip"
        android:title="@string/flip"
        android:showAsAction="always"/>

</menu>

然后在ActivityOne中添加此代码。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.activity_one,menu);
    return super.onCreateOptionsMenu(menu);
}

这样,您为ActivityOne夸大了特定的菜单项。如果你有另一个Activity让我们说ActivityTwo只是膨胀不同的菜单文件!

以下是如何定义用户选择的巫婆动作,以防万一!

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_flip:
            flipCard("left");
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }

}