安卓汉堡菜单图标在4.x版本中是一个箭头。

5

我已经使用汉堡图标(支持库v7)实现了ActionBarDrawerToggle,但出于某些原因,该切换仅在未运行5.0的设备上显示“后退”箭头(我已为所有4.x版本确认了此行为)。这是正常的行为吗?

箭头如下所示:

The arrow

现在箭头图标不会改变。无论导航抽屉被拉出还是处于折叠模式下,它都是相同的。

这是我如何初始化drawertoggle等的。

// drawer toggle
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
        R.string.drawer_open, R.string.drawer_close);
mDrawerLayout.setDrawerListener(mDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);

编辑

为了澄清一些内容。我正在使用旧的普通操作栏,而不是工具栏。汉堡包图标在5.0及以上设备上显示,但在< 5.0上不显示。我应该使用工具栏来解决这个问题吗?


你在哪里调用了工具栏? - silverFoxA
2个回答

1
为了获得汉堡图标,下面这段代码就足够了。
Toolbar toolbar =(Toolbar)findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

它显示了返回按钮,因为您正在使用方法setDisplayHomeAsUpEnabled(true);

查看官方参考点击这里


1
看我的编辑。我没有使用工具栏,而是使用操作栏。汉堡图标确实出现了,但在5.0之前的手机上没有。 - Tim Kranen
尝试将此代码 getActionBar().setDisplayHomeAsUpEnabled(true); 更改为 getActionBar().setDisplayHomeEnabled(true); - silverFoxA
1
该方法不可用。 - Tim Kranen
如果您正在使用新库,则应该检查它是否存在,否则请删除此语句,因为您已经将方法setHomeButtonEnabled设置为true。 - silverFoxA

0

如果你想在所有设备上保持一致,我建议你只需复制可绘制对象并将其重命名,然后使用它即可。


但我该如何实现动画等功能呢? - Tim Kranen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接