导航抽屉图标在横屏模式下(Android)垂直居中不对称

17

我在使用新的工具栏方式时遇到了问题。在横屏模式下,工具栏标题垂直居中,但导航抽屉不是。我该如何解决?

我正在使用 Chris Banes 的这篇文章中介绍的方式来使用工具栏: AppCompat v21 - 面向早期设备的材料设计!

这是在 style.xml 中绘制抽屉图标的代码:

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

这是问题的图片:横向图像

编辑:溢出按钮也没有垂直居中...

2个回答

29

这是我的工具栏主题,一切都居中正确:

<android.support.v7.widget.Toolbar
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    style="@style/Widget.MyApp.Toolbar">

</android.support.v7.widget.Toolbar>

这个示例建议使用 android:minHeight="?actionBarSize"android:_layout_height="wrap_content",但它只会产生你描述的错误。


在我的情况下,这个方法很好地将一切居中,但由于某种原因,随着设备旋转,工具栏的高度发生了变化(在横屏模式下更短)。因此,从视觉上看,这是一个可行的解决方案。 - GaryAmundson
是的,规格说明动作栏在手机上始终为56dp。但是规格说明是错误的。实际上,在横向模式下,它的实现尺寸为48dp。这是经过设计和正确的,最终空间是有限的。 - Eugen Pechanec
1
最初实现时无法正常工作,后来发现工具栏位于其他地方包含的布局中,其中layout_height覆盖了?actionBarSize。谢谢! - Vic Alcazar
1
这会切断工具栏的字幕。 - behelit

6

在您的工具栏样式中添加此内容:

<item name="maxButtonHeight">?attr/actionBarSize</item>

这将使您能够使用wrap_content高度并仍然拥有居中的图标!

这是一个更好的解决方案,它不会切断工具栏子标题。也可以在xml中完成app:maxButtonHeight="?attr/actionBarSize" - behelit

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