android:layout_height=“?attr/actionBarSize” is not

2020-02-09 07:09发布

问题:

If I set android:layout_height="56dp", I can see the toolbar in graphical layout. But when I set like the below,

       <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>

toolbar is not showing in graphical layout.

Studio says that attr/actionBarSize is marked as private.

I am using

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

What could be the issue? How can i fix it! Yes, Studio is updated.

回答1:

Use ?android:attr/actionBarSize instead of ?attr/actionBarSize



回答2:


finally i did it just change your method

?attr/actionBarSize to ?android:attr/actionBarSize



回答3:

It seems to be a bug in Android Studio: https://code.google.com/p/android/issues/detail?id=183120

The issue should be fixed in Android Studio 1.4 Preview 3. An update of the gradle plugin is also recommended. At least Gradle plugin version 1.4-alpha2

As a workaround you can disable the Lint-check in the build.gradle:

android {
    lintOptions {
        disable 'PrivateResource'
    }
}


回答4:

What is your app theme ?

Can you try to put android:theme="@style/Theme.AppCompat.Light" in your Toolbar layout ?



回答5:

It was a problem in setting the theme.

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>

when i selected the correct theme like here, it works fine for me!

Hope it helps.