【问题标题】:Navigation drawer icon is not centered vertically (landscape mode, Android)导航抽屉图标未垂直居中(横向模式,Android)
【发布时间】:2015-01-21 11:31:32
【问题描述】:

我对使用工具栏的新方法有疑问。在横向模式下,工具栏标题垂直居中,但导航抽屉不是。我该如何解决这个问题?

我正在使用 Chris Banes 的这篇文章中的工具栏: AppCompat v21 — Material Design for Pre-Lollipop Devices!

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

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

这是问题的图像: Landscape image

编辑:溢出按钮也不是垂直居中...

【问题讨论】:

    标签: android icons navigation-drawer android-5.0-lollipop android-appcompat


    【解决方案1】:

    这是我的工具栏主题,所有内容都正确居中:

    <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",但它只产生了您描述的错误。

    【讨论】:

    • 就我而言,这很好地居中了所有内容,但由于某种原因,它会随着设备的旋转而改变工具栏的高度(由于某种原因,它在横向上变短了)。所以从视觉上看,这是一个可行的解决方案。
    • 是的,规格说明手机上的操作栏始终为 56dp。但规格是谎言。它实际上是作为横向 48dp 实现的。这是设计和正确的,最终空间是有限的。
    • 实现了这一点,但最初并没有让它发挥作用。然后意识到工具栏位于布局中,其中 layout_height 覆盖了?actionBarSize。谢谢!
    • 这会切断工具栏的字幕
    【解决方案2】:

    将此添加到您的工具栏样式中:

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

    这允许您使用 wrap_content 高度并且仍然有一个居中的图标!

    【讨论】:

    • 这是一个更好的解决方案,它不会剪切工具栏的副标题。也可以用xml做app:maxButtonHeight="?attr/actionBarSize"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    相关资源
    最近更新 更多