2015-01-11 31 views
11

我的min和target sdk是21,而我没有使用支持库。横向模式下Android工具栏过高

我正在使用新的工具栏小部件,通常它的工作原理,我只是在它看起来有一个小故障。动作图标以纵向模式为中心,而横向模式下的工具栏较高,图标不居中。请看看截图(读行只是为了使问题更明显):

  • 画像:

portrait mode

  • 景观:

landscape mode

这可能看起来没有任何效果,但是当选择动作时(如条的最左侧的“向上”箭头),结果是它下面几个像素的条可见。我不喜欢它看起来的样子。

该活动本身不管理任何配置更改。

这是我的代码:

  • styles.xml:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    
        <style name="MyTheme" parent="android:Theme.Material.NoActionBar"> 
         <item name="android:toolbarStyle">@style/MyToolbarStyle</item> 
        </style> 
    
        <style name="MyToolbarStyle" parent="android:Widget.Toolbar"> 
         <item name="android:background">?android:attr/colorPrimary</item> 
         <item name="android:elevation">2dp</item> 
        </style> 
    
    </resources> 
    
  • XML用法:

我试图与Android瞎搞:了minHeight属性,但设置为这样,sa y,30dp只是将图标向上移动,也是以纵向模式。

我发现这一点:https://code.google.com/p/android/issues/detail?id=77874 但没有ATTR/actionBarSize ...

如何,如果在所有,可这个问题是固定的?手机屏幕截图是Nexus 6(xxxhdpi),图标来自Google图标包,最大的资源是xxhdpi。这是问题吗?

更新:当我使用?android:attr/actionBarSize时,上述链接的解决方法无效。但是,这是唯一的方法吗?似乎有点不对,需要像这样一个新的闪亮组件这样的解决方法,甚至更多的解决方案需要一个组件的属性值被替换为新的组件。

+0

你可以在你的代码中展示你的实现吗? 另外我没有看到你的风格的使用? –

+0

这没有相关的Java代码。样式在AndroidManifest.xml中设置为整个应用程序的主题,因此应用中的每个工具栏都使用“MyToolbarStyle”样式。 – wujek

+0

在我看来,工具栏不仅用于我们用来使用ActionBar,但它可以更高,并显示其他东西等内... 经典的ActionBar在横向缩小尺寸,从而向上移动一点图标。使用工具栏时,图标仍会移动,但大小由您指定。现在如果你想要一个高大的工具栏,你可能不想改变工具栏的大小 - 不受你的控制。 只指定“?android:attr/actionBarSize”对我来说似乎相当不错:) – Antimonit

回答

3

尝试使用:

android:height="?android:attr/actionBarSize" 

为您的工具栏。

1

在工具栏风格补充一点:

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

我有android.support.v7.widget.Toolbar同样的问题。

我的解决办法:

把你的工具栏和您要为您的工具栏的高度RelativeLayout的。将工具栏layout_height设置为“wrap_content”并将其与垂直中心对齐。我希望它有帮助。

<RelativeLayout 
     android:id="@+id/main_toolbar_relative_layout" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     > 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/main_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
      > 
    </android.support.v7.widget.Toolbar> 
</RelativeLayout> 
相关问题