我一直在寻找如何在抽屉打开/关闭图标(从汉堡包到箭头)到简单的向后箭头之间切换的方法.我的应用程序目前只有一个Activity在几个片段之间切换.有一次,我想在一个主要片段(即抽屉中的一个片段)之间转换为分层次在前一个片段下的片段(即"添加新片段").在这个新片段中,我想让工具栏显示后退按钮而不是抽屉按钮.
我一直在环顾四周,尝试不同的解决方案.以下是最值得注意的:
目前,我正在考虑一种创建自定义图标的漫长而艰巨的方法,我隐藏并显示(并隐藏/显示本机抽屉图标).但是,有没有更好的方法在抽屉和后退按钮之间切换?
作为一个侧面相关的问题,我一直在查看Material Design文档,并且一些示例在左上角有一个X. 与实现抽屉vs后退/向上按钮相比,实现起来有多么不同?
谢谢〜
编辑:
我可以弄清楚如何替换图标,但我如何获得点击事件?
到目前为止,这是我最好的领导:
我现在尝试过的:
mDrawerToggle.setDrawerIndicatorEnabled(useDrawer);)item.getItemId() == android.R.id.home为true.这些日志语句都没有为了更好的上下文,我现在有一个全屏片段,在菜单中添加一个"保存"按钮,并将抽屉图标更改为"X".片段可以获取保存菜单事件,但是在点击X时甚至不能获得活动和抽屉.
根据要求,这里有一些代码.请注意,这都是来自这个我正在积极研究的Github回购(注意我在这里或那里有一些无用的功能来进行快速测试).
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Add the toolbar
mToolbar = (Toolbar) findViewById(R.id.toolbar);
if (mToolbar != null) {
setSupportActionBar(mToolbar);
}
// Initialize the drawer
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
// Set up the drawer
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout),
mToolbar); …Run Code Online (Sandbox Code Playgroud) 我遇到了工具栏和后退按钮的问题.这是我的设置:

当我添加一个细节片段时,我会按照此处所述为工具栏汉堡包设置动画.这会使汉堡包成为箭头的动画.
即使在评论部分,用户也会提到:
这非常有效.只需将start = 0和end = 1设置为从汉堡包转到箭头,然后将start = 1和end = 0设置为箭头转换为汉堡包.您需要跟踪的一件事是当箭头显示时抽屉关闭.此时,汉堡包最终被显示(因为抽屉的滑动),你必须纠正.
但我无法弄清楚如何使后箭头正常运行.当我按下后箭头时,抽屉打开,细节片段不会弹出.我应该怎么做呢?