Xamarin Forms Android AppCompatActivity Toolbar background color is not changing

左心房为你撑大大i 提交于 2019-12-13 20:43:31

问题


In my Xamarin Forms Android Project I need to change the ToolBar Title color and background color I have tried with many workarounds suggested in Google but unfortunately I am unable to find the correct solution to me

What I Need is

What I am getting Now is

by using below codes

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

What I have tried

I have tried to change the android:background in Toolbar.xaml but it doesn't have any impact on it;it is always displaying Dark background in Toolbar

and also I tried with this below code too in MainActivity.cs this hides the title in the Toolbar

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

anyone please guide me to resolve this issue and make me get what I need Thanks in advance


回答1:


In you app class (PCL), add these to change the back button's color:

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

I have made a demo for you.

Update:

From here, like @MarlonRibeiro has said, you can use drawerArrowStyle to change the back button's color to white(I have updated my project on 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>


来源:https://stackoverflow.com/questions/49811773/xamarin-forms-android-appcompatactivity-toolbar-background-color-is-not-changing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!