0

所以我有两个活动。ActivityA 和 AcitivityB。我的操作栏中有 4 个按钮,但在 ActivityA 中只有三个应该可见,如果我按下某个按钮,我会进入 ActivityB 并且所有四个都应该可见。有没有办法做到这一点?

4

3 回答 3

1

为此,我建议您创建特殊的 ActionBarHelper 类,您可以在其中封装所有 ActionBar 初始化步骤。在我使用 ActionbarSherlock 的应用程序中,我在 ActionBarHelper 类代码中执行了此操作:

public static void initActionBar(final SherlockActivity activity, final boolean finishCurrent) {
    activity.setTheme(R.style.Sherlock___Theme_Light);
    theBar = activity.getSupportActionBar();
    theBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    theBar.setCustomView(R.layout.custom_bar);
             // other initialisation

接着

Button btnToHide = (Button) activity.findViewById(R.id.btnToHide);
    if (activity.getLocalClassName().toString().equals("ActivityA")) {
        btnToHide.setVisibility(View.GONE);

    }`

在你的活动中OnCreate()只写ActionBarHelper.initActionBar(this,false);

于 2013-07-10T13:51:40.813 回答
0

您可以在每个活动 onCreateOptionsMenu 中膨胀一个单独的菜单资源吗?

class ActivityA extends Activity {
    /**Code omitted*/
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.activityA, menu);
        return true;
    }
}

class ActivityB extends Activity {
    /**Code omitted*/
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.activityB, menu);
        return true;
    }
}
于 2013-07-10T13:48:13.137 回答
0

在相应活动的 onCreate 方法中,您可以调用所需按钮的 setVisibility 来隐藏它。

于 2013-07-10T13:56:23.310 回答