如何更改 Lollipop 工具栏的背景颜色?

How do I change the Background Color of a Lollipop Toolbar?

如何在 Xamarin Studio 中更改 Android Lollipop Toolbar 的背景颜色?

我已经尝试了很多不同的方法,但都没有成功,但这是我目前所拥有的,但它就是行不通。密切注意图像。出于某种原因,工具栏的底部是彩色的(应该是阴影的地方)但不是实际工具栏的背景:

添加所有样式和所有内容后,在可视化设计器中,我看到的是这个(无颜色背景):

我的代码:

styles.xml(直接位于资源文件夹下):

<?xml version="1.0" encoding="UTF-8" ?>
 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        app:theme="@style/ActionBarThemeOverlay"
        ndroid:background="?attr/colorPrimaryDark" />

Main.axml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:background="#ffffffff">
    <Toolbar
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"
        android:theme="@android:style/Theme.Material.Light" />
</LinearLayout>

Main.xml(资源 > 菜单 > Main.xml):

<?xml version="1.0" encoding="UTF-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto">
        <item android:icon="@android:drawable/ic_menu_share" android:id="@+id/menu_share" android:title="Share" android:showAsAction="ifRoom" />
</menu>

有谁知道如何更改 工具栏 的背景颜色?


更新:


Main.axml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:background="#ffffff">
<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_height="?actionBarSize"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:background="?attr/colorPrimary" />
</LinearLayout>

color.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
   <!-- Color : Classic colors -->
   <color name="white">#FFFFFF</color>
   <color name="black">#000000</color>
</resources>

styles.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
  <style name="AppTheme" parent="AppTheme.Base"/>
  <style name="AppTheme.Base" parent="Theme.AppCompat">
    <!-- Value : Color -->
    <item name="colorPrimary">@color/black</item>
    <item name="colorAccent">@color/black</item>
  </style>
</resources>

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="ToolbarSample.ToolbarSample">
    <uses-sdk />
    <application android:label="ToolbarSample" android:theme="@style/AppTheme"></application>
</manifest>

工具栏就像一个视图,所以你可以在Main.xml中像这样改变他的backgroundColor:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_height="?actionBarSize"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:background="@color/black" />

您必须在文件 color.xml 中定义此颜色:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <!-- Color : Classic colors -->
   <color name="white">#FFFFFF</color>
   <color name="black">#000000</color>
</resources>

如果你真的要用android:colorPrimary。 您可以在文件中创建自己的主题 styles.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="AppTheme" parent="AppTheme.Base"/>
  <style name="AppTheme.Base" parent="Theme.AppCompat">
    <!-- Value : Color -->
    <item name="colorPrimary">@color/black</item>
    <item name="colorAccent">@color/black</item>
  </style>
</resources>

并改用 android:background="?attr/colorPrimary"

顺便说一句,要在你的所有活动中使用这个主题,你必须在你的 AndroidManifest.xml 中通过添加 android:theme 声明他:

<application
  android:label="@string/app_name"
  android:theme="@style/AppTheme" >

希望这个解释清楚。

祝你有愉快的一天!