android:layout_height="?attr/actionBarSize"在使用support:design:23.0.0库时无法工作

22

如果我设置android:layout_height="56dp",我可以在图形布局中看到工具栏。但是当我像下面这样设置时,

       <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/purple"
            android:gravity="center_vertical"
            android:minHeight="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">  </android.support.v7.widget.Toolbar>

工具栏未显示在图形布局中。

Studio表示attr/actionBarSize被标记为私有。

我正在使用

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.0.0'

可能出了什么问题?我该如何解决!是的,Studio已经更新。


2
看起来很奇怪。我也是23,但我没有这个问题。 - poss
@Poss 你的Android Studio版本是多少? - Rethinavel
尝试删除“attr”,只需编写android:layout_height="?actionBarSize"即可。 - Moinkhan
使用?android:attr/actionBarSize - Shyam Sunder
5个回答

35

使用 ?android:attr/actionBarSize 替代 ?attr/actionBarSize


适用于Android:attr - Sachin Rajput

7

最终我做到了,只需要更改你的方法

?attr/actionBarSize 改为 ?android:attr/actionBarSize


3

在Android Studio中似乎存在一个bug: https://code.google.com/p/android/issues/detail?id=183120

这个问题应该已经在Android Studio 1.4 Preview 3版本中被修复了。同时建议升级Gradle插件,至少使用版本1.4-alpha2。

如果需要解决问题,可以在build.gradle文件中禁用Lint检查:

android {
    lintOptions {
        disable 'PrivateResource'
    }
}

你是否像问题中提到的那样更新了Gradle插件版本1.4-alpha2? - Christopher
会尝试并告诉您!! - Rethinavel
谢谢。请注意,在26支持库中,您必须删除此解决方法才能使其正常工作。 - Leo DroidCoder

0

设置主题时出现了问题。

Theme Values-v21.

 <style name="AppTheme" parent="Theme.AppCompat">
        <item name="android:colorPrimary">@color/purple_medium</item>
        <item name="android:colorPrimaryDark">@color/purple</item>
        <item name="android:colorAccent">@color/iron</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:textColorHint">@color/black_lite</item>
        <item name="android:textColor">@color/black</item>
        <item name="android:textColorSecondary">@color/white</item>
        <item name="colorControlActivated">@color/purple</item>
        <item name="colorControlHighlight">@color/purple</item>
        <item name="colorControlNormal">@color/iron</item>
        <item name="android:textColorPrimary">@color/purple</item>
        <item name="android:windowContentTransitions">true</item>
    </style>

当我选择了正确的主题,就像这里一样,它对我来说运行得很好!

enter image description here

希望有所帮助。


0

你的应用主题是什么?

你可以尝试在你的工具栏布局中加入android:theme="@style/Theme.AppCompat.Light"吗?


尝试了,但没有运气 :-) - Rethinavel

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