在用户导航应用程序时更新操作栏

时间:2014-07-28 06:50:15

标签: android

在我的Android应用中,我通过导航抽屉提供导航菜单。我希望操作栏根据他们导航到的位置有不同的图标。我看到了两种方法。我只是在用户导航应用程序时根据需要显示/隐藏操作栏按钮(和其他控件),或者,我为每个屏幕创建一个全新的操作栏,用于导航到并替换现有操作栏。后一种方法有一个缺点,我可能最终会重复其他动作栏中的一些按钮。

不确定是否还有任何其他问题我应该关注任何一个解决方案。关于我可能采取的方法的任何建议?

2 个答案:

答案 0 :(得分:-1)

您需要致电getActionBar().setIcon(int resId);并将参数设置为资源可绘制

例如

if(x == 1) {
    getActionBar().setIcon(R.drawable.icone1);
} else if (x == 2) {
    getActionBar().setIcon(R.drawable.icone2);
} else if (x == 3) {
    getActionBar().setIcon(R.drawable.icone3);
}else if ...

如果您想使用支持库,可以致电getSupportActionBar()

答案 1 :(得分:-2)

您不创建ActionBar,它由系统提供。每个活动都会被赋予ActionBar,只要该活动的主题扩展了包含ActionBar的现有主题之一(例如Holo,Holo.Light和Holo.Light.DarkActionBar)并且不会t指定它不包含操作栏。

通过为活动和片段定义适当的菜单XML文件并在两者中正确覆盖onCreateOptionsMenu来实现所需的方法。另请注意,您需要在setHasOptionsMenu(true)内调用onCreate()

https://developer.android.com/guide/topics/ui/actionbar.html#ActionItems