所以我正在努力将ActionBarSherlock和导航抽屉添加到以前实现自定义(写得非常糟糕)“操作栏”的项目中。一些活动不是使用片段和后台活动进行导航,而是显示和隐藏不同的布局。 (也就是说,假设我处于列表模式,然后选择一个按钮进入编辑屏幕。应用程序当前隐藏列表布局并显示另一个布局。)。
所以我在所有活动中添加了actionbar sherlock和导航抽屉。我希望能够以编程方式在按下某些按钮时将导航图标从3行切换到箭头。
我无法弄清楚如何做到这一点。有什么想法吗?
谢谢!
答案 0 :(得分:7)
此问题的解决方案是使用以下方法:
setDrawerIndicatorEnabled(boolean enable)
在ActionBarDrawerToggle
类中。
答案 1 :(得分:4)
后:
drawer.setDrawerListener(toggle);
使用此代码:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.select);
答案 2 :(得分:2)
这取决于你对内置动作栏工件的结构。您可以通过膨胀您选择的布局,然后调用
来重绘当前操作栏getSherlockActivity().getSupportActionBar().setDisplayShowTitleEnabled(false);
getSherlockActivity().getSupportActionBar().setDisplayShowHomeEnabled(false);
getSherlockActivity().getSupportActionBar().setDisplayShowCustomEnabled(true);
// Inflate and do whatever you need to your view...
getSherlockActivity().getSupportActionBar().setCustomView(abView);
getSherlockActivity().getSupportActionBar().show();
当你想回到你的标准时(假设你使用DrawerLayout做你的导航抽屉),你可以设置拨打setDisplayShowCustomEnabled(false)
(随意重新启用showHome和showTitle) )。
答案 3 :(得分:1)
据我所知,后退按钮的自定义只能通过主题来完成。此外,交换后退图标(在同一个Activity中)的抽屉图标没有意义,因为用户仍然可以通过向左滑动最右边来访问导航抽屉。这没有意义。
如果你绝对需要后面的图标,那么最好将这个屏幕变成一个新的Activity,因为你确实会在堆栈中添加另一个“级别”,这就是后面的图标所代表的。