4

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

因此,我为所有活动添加了操作栏 sherlock 和导航抽屉。当按下某些按钮时,我希望能够以编程方式将导航图标从 3 行切换到箭头。

在此处输入图像描述

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

谢谢!

4

4 回答 4

7

这个问题的解决方法是使用以下方法:

setDrawerIndicatorEnabled(boolean enable)

课堂内ActionBarDrawerToggle

于 2013-09-04T00:14:49.547 回答
6

后:

drawer.setDrawerListener(toggle);

使用此代码:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.select);
于 2016-08-12T11:44:10.930 回答
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)。

于 2013-07-17T18:57:49.823 回答
1

据我所知,后退按钮的自定义只能通过主题来完成。此外,将抽屉图标换成后退图标(在同一个 Activity 中)是没有意义的,因为用户仍然可以通过将最左边的边缘向右滑动来访问导航抽屉。这没有任何意义。

如果您绝对需要后退图标,那么使该屏幕成为新的 Activity 是最有意义的,因为您确实会在堆栈中添加另一个“级别”,这就是后退图标所代表的内容。

于 2013-07-17T18:57:56.147 回答