答案 0 :(得分:1)
Okey,@ Harry Android与iOS有所不同。
现在我的优先级是Android,是的。 iOS可能会在未来
Android:
Android 6.0启动,Google正式提供了支持,并在style属性中配置android:windowLightStatusBar
是的,当设置为true
时,状态栏的背景颜色为浅色时,状态栏的文本颜色将为灰色。 true
的{{1}}相同。如下:
false
在xamarin中,表单可以跟随this link获得成功。
基本上,您必须使用<style name="MainTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
...
<item name="android:windowLightStatusBar">false</item>
</style>
代替FormsAppCompatActivity
和FormsApplicationActivity
代替Theme.AppCompat.Light.NoActionBar
。
如果要让某些页面显示不同的样式,可以更改活动的主题。
Theme.Material.Light
IOS:
(1),将跟随键值添加到Project.IOS中的<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Activity.SecondActivity"
android:launchMode="singleTop"
android:theme="@style/customttheme"/>
</application>
:
info.plist
(2)不使用代码:
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
(3),或使用代码设置状态栏的文本颜色,<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
中的方法FinishedLaunching
设置如下:
AppDelegate.cs
(4)如果要在启动应用程序时更改页面的颜色,可以使用 app.StatusBarStyle = UIStatusBarStyle.LightContent;
方法通过custome ViewControllerRenderer
for IOS:
ViewDidLoad()
答案 1 :(得分:0)
请参见以下答案:background status bar color。
根据此链接,您需要将BarBackgroundColor
和BarTextColor
的值设置为特定的颜色,如下所示:
...
MainPage = new MainPageUser();
//Background color
MainPage.SetValue(NavigationPage.BarBackgroundColorProperty, Color.Black);
//Title color
MainPage.SetValue(NavigationPage.BarTextColorProperty, Color.White);
...
也:
但是,就像您可能现在注意到的那样,iOS的状态栏位于顶部 也是黑色的,您需要在以下位置更改Info.plist文件 您的ios项目并使用以下命令打开它(右键单击并选择“打开方式”) xml编辑器,并添加以下代码行:
根据此评论,您需要像这样更改info.plist:
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
希望这会有所帮助。
答案 2 :(得分:0)
在iOS 12及更高版本的Xamarin.Forms中,您只需在info.plist中创建此
:您可以在右侧选择颜色。