Xamarin Forms Android AppCompatActivity 工具栏背景颜色没有改变

Xamarin Forms Android AppCompatActivity Toolbar background color is not changing

在我的 Xamarin Forms Android 项目中,我需要更改 ToolBar Title colorbackground color 我尝试了 Google 中建议的许多解决方法,但不幸的是我无法找到适合我的正确解决方案

我需要的是

我得到的现在是

使用以下 代码

MainActivity.cs

[Activity(Label = "Sample.Droid", Icon = "@mipmap/icon_launcher", Theme = "@style/MyTheme")]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
            protected override void OnCreate(Bundle bundle)
            {
                base.OnCreate(bundle);

                global::Xamarin.Forms.Forms.Init(this, bundle);          

                LoadApplication(new App());
            }   


    }

styles.xml

    <?xml version="1.0" encoding="UTF-8"?>
<resources>

    <style name="MyTheme" parent="MyTheme.Base">
    </style>

    <style name="MyTheme.Base" parent="Theme.AppCompat.NoActionBar"> 

        <item name="windowNoTitle">true</item>     
        <item name="windowActionBar">false</item>    
        <item name="colorPrimary">#cc66ff</item>  
        <item name="colorPrimaryDark">#1976D2</item>          
        <item name="colorAccent">#FF4081</item>  

    </style>

Toolbar.axml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#cc66ff"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

我试过的

我试过更改 Toolbar.xaml 中的 android:background 但它没有任何影响;它总是在工具栏中显示深色背景

我也在 MainActivity.cs 中尝试使用下面的代码,这隐藏了工具栏中的标题

 var toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);             
              SetSupportActionBar(toolbar);

任何人请指导我解决这个问题,让我得到我需要的东西提前谢谢

在您的应用 class (PCL) 中,添加以下内容以更改后退按钮的颜色:

NavigationPage naviPage =  new NavigationPage( new App13.MainPage());
MainPage = naviPage;
naviPage.BarBackgroundColor = Color.FromHex("#cc66ff");

我做了一个demo 给你。

更新:

here 开始,就像@MarlonRibeiro 所说,您可以使用 drawerArrowStyle 将后退按钮的颜色更改为白色(我已经在 github 上更新了我的项目):

 <style name="MainTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    </style>
<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
    <item name="color">#FFFFFF</item> 
</style>