Android “的价值是什么?”;?attr/colorPrimary";

Android “的价值是什么?”;?attr/colorPrimary";,android,android-layout,Android,Android Layout,我正在学习使用工具栏小部件。 在遵循developer.android.com上的指南时,我发现 android:background="?attr/colorPrimary" 当我转到“?attr/colorPrimary”的定义时,我只找到 <attr format="color" name="colorPrimary"/> 那么我如何知道“?attr/colorPrimary”的值呢 打开style.xml并编写如下应用程序主题的代码 <!-- Base appl

我正在学习使用工具栏小部件。
在遵循
developer.android.com
上的指南时,我发现

android:background="?attr/colorPrimary"
当我转到“?attr/colorPrimary”的定义时,我只找到

<attr format="color" name="colorPrimary"/>

那么我如何知道“?attr/colorPrimary”的值呢
  • 打开style.xml并编写如下应用程序主题的代码

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.Theme.DesignDemo">
    
    </style>
    
    <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@color/window_background</item>
        <item name="colorControlNormal">@android:color/darker_gray</item>
        <item name="colorControlActivated">@color/colorPrimary</item>
    
        <item name="windowActionModeOverlay">true</item>
        <item name="windowActionBarOverlay">true</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="windowActionBar">false</item>
    
        <item name="windowNoTitle">true</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="android:typeface">monospace</item>
        <item name="android:popupMenuStyle">@style/PopupMenu</item>
    </style>
    
    
    @颜色/原色
    @颜色/原色暗
    @颜色/颜色重音
    @颜色/窗口背景
    @android:颜色/深灰色
    @颜色/原色
    真的
    真的
    真的
    假的
    真的
    真的
    单空间
    @样式/弹出菜单
    
  • colorPrimary在color.xml中定义

  • 因此?attr/colorPrimary值等于@color/colorPrimary

  • 您可以在工具栏中应用任何颜色。您也可以像toolbar.xml一样创建工具栏,如下所示

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    
    <android.support.v7.widget.Toolbar
    
        android:id="@+id/toolbar_common"
        style="@style/Toolbar"
        android:layout_height="?attr/actionBarSize"
        app:contentInsetStart="0dp">
    
    
        <com.peopleshopapp.custom_control.GothamBoldTextview
            android:id="@+id/tv_header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:layout_marginLeft="15dp"
            android:drawableLeft="@drawable/circled_logo_top"
            android:drawablePadding="10dp"
            android:textColor="@color/white"
            android:textSize="@dimen/font_size_18"
            android:textStyle="bold" />
    
        <ImageView
            android:id="@+id/iv_options"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:layout_marginRight="10dp"
            android:padding="10dp"
            android:src="@drawable/category_icon"
            android:visibility="gone" />
    
    </android.support.v7.widget.Toolbar>
    
    
    

    在您的style.xml中发布以下内容

     <style name="Toolbar">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:minHeight">?attr/actionBarSize</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@color/colorPrimary</item>
    </style>
    
    
    包装内容
    匹配父项
    ?属性/操作栏大小
    真的
    @颜色/原色
    
    android:background=“?attr/colorPrimary”中的值“?attr/colorPrimary”是“?attr/*”的语法。这里*。i、 e“colorPrimary可从当前应用程序主题访问

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    
    
    @颜色/原色
    @颜色/原色暗
    @颜色/颜色重音
    
    在Colors.xml中为colorPrimary属性定义的颜色将用于工具栏。

    您将在Colors.xml中找到该值