在Android ActionBar上设置导航图标

时间:2013-07-17 18:05:49

标签: android android-actionbar drawerlayout

所以我正在努力将ActionBarSherlock和导航抽屉添加到以前实现自定义(写得非常糟糕)“操作栏”的项目中。一些活动不是使用片段和后台活动进行导航,而是显示和隐藏不同的布局。 (也就是说,假设我处于列表模式,然后选择一个按钮进入编辑屏幕。应用程序当前隐藏列表布局并显示另一个布局。)。

所以我在所有活动中添加了actionbar sherlock和导航抽屉。我希望能够以编程方式在按下某些按钮时将导航图标从3行切换到箭头。

enter image description here

我无法弄清楚如何做到这一点。有什么想法吗?

谢谢!

4 个答案:

答案 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,因为你确实会在堆栈中添加另一个“级别”,这就是后面的图标所代表的。