gpt4 book ai didi

c# - Xamarin 表格 : How to change the color the "back" symbol in the toolbar

转载 作者:行者123 更新时间:2023-11-30 12:38:21 26 4
gpt4 key购买 nike

我想改变工具栏上的后退符号的颜色,目前工具栏是黑色的。为了视觉清晰,这里是左上角带有“后退”箭头的屏幕截图。正如您在屏幕截图中看到的,我已经更改了文本和背景的颜色。

Screenshot: Contentpage with black "back" arrow

该项目分为ClientClient.AndroidClient.iOS。该应用程序目前主要针对 Android,但我们希望为 iOS 敞开大门。

如果有任何遗漏,我也会尝试将其粘贴在这里。

MasterDetailsPage.xaml.cs:

   public partial class MasterDetailPage1: MasterDetailPage
{
public MasterDetailPage1()
{
this.InitializeComponent();
this.MasterPage.ListView.ItemSelected += this.ListView_ItemSelected;
}

protected override void OnChildAdded(Element child)
{
if(child is NavigationPage page)
{
page.BarBackgroundColor = Color.FromHex("343A40");
page.BackgroundColor = Color.FromHex("343A40");
page.BarTextColor = Color.FromHex("FFFFFF");
}

base.OnChildAdded(child);
}
}

ReportConfigurationPage.xaml.cs

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
x:Class="Company.Client.Views.ReportConfigurationPage"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<ContentPage.Content>
<ScrollView x:Name="ScrollView" BackgroundColor="White">
<StackLayout x:Name="BaseStackLayout" Orientation="Vertical">
<!-- Input controls -->
</StackLayout>
</ScrollView>
</ContentPage.Content>
</ContentPage>

更新:啊,谢谢,需要在 styles.xml 中定义和分配的是 DrawerArrowStyle

<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">#FFFFFF</item>
</style>

<style name="MainTheme" parent="MainTheme.Base">
</style>
<!-- Base theme applied no matter what API -->
<style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
<item name="windowNoTitle">true</item>
<!--We will be using the toolbar so no need to show ActionBar-->
<item name="windowActionBar">false</item>
<!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette -->
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">#FF0000</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">#219198</item>
<!-- colorAccent is used as the default value for colorControlActivated
which is used to tint widgets -->
<item name="colorAccent">#219198</item>
<!-- You can also set colorControlNormal, colorControlActivated
colorControlHighlight and colorSwitchThumbNormal. -->
<item name="colorControlHighlight">#219198</item>
<item name="windowActionModeOverlay">true</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
</style>

<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">#FF4081</item>
</style>
</resources>

最佳答案

Android 中有一个概念叫做Material design .

由于 Xamarin 在 Xamarin.Android 中采用了 native Java Android 行为,因此 Android 应用程序会在其 styles.xml 文件中选择主题并使用该样式来设置栏背景颜色。

当然,有一个解决方法。无论您需要在 Android 端做什么更改,您都必须在样式文件中更新它,例如:

 <?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="MyTheme" parent="MyTheme.Base">
</style>

<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">#FFFFFF</item>
</style>

<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">#003399</item>
<item name="colorPrimaryDark">#003399</item>
<item name="colorControlHighlight">#003399</item>
<item name="colorAccent">#012348</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

</resources>

此处颜色的变化将直接反射(reflect)到那里,例如 ColorPrimary 是您的工具栏背景颜色 (BarBackgroundColor)。

更新

 <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ToolbarTheme" >
</android.support.v7.widget.Toolbar>

然后得到像这样的工具栏:

var toolbar=yourActivityContext.Window.DecorView.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
toolbar.SetBackgroundColor(Android.Graphics.Color.Your_Color);
//In case of hex color
toolbar.SetBackgroundColor(Android.Graphics.Color.ParseColor("#ebebeb"));

关于c# - Xamarin 表格 : How to change the color the "back" symbol in the toolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53485096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com