Xamarin Forms Android AppCompatActivity 工具栏背景颜色没有改变
Xamarin Forms Android AppCompatActivity Toolbar background color is not changing
在我的 Xamarin Forms Android 项目中,我需要更改 ToolBar Title color
和 background 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>
在我的 Xamarin Forms Android 项目中,我需要更改 ToolBar Title color
和 background 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>