在我的Android应用中,我通过导航抽屉提供导航菜单。我希望操作栏根据他们导航到的位置有不同的图标。我看到了两种方法。我只是在用户导航应用程序时根据需要显示/隐藏操作栏按钮(和其他控件),或者,我为每个屏幕创建一个全新的操作栏,用于导航到并替换现有操作栏。后一种方法有一个缺点,我可能最终会重复其他动作栏中的一些按钮。
不确定是否还有任何其他问题我应该关注任何一个解决方案。关于我可能采取的方法的任何建议?
答案 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