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

时间:2015-01-06 14:50:13

标签: android xml xamarin xamarin.android xamarin-studio

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

我尝试了许多不同的事情但没有运气,但这就是我现在所拥有的东西,它只是不起作用。密切注意图像。由于某种原因,工具栏的底部是彩色的(阴影应该在哪里),但不是实际工具栏的背景:

enter image description here

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

enter image description here

我的代码:

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(资源&gt;菜单&gt; 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>

1 个答案:

答案 0 :(得分:1)

工具栏就像一个视图,所以你可以在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.xmlandroid:theme声明他:

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

希望这个解释清楚。

度过美好的一天!