Har*_*rry 2 xamarin.android xamarin xamarin.forms
我想用白色设计状态栏,但是通知的文本和图标的颜色相同,那么如何更改状态栏的文本颜色?。
状态栏颜色
之前:
Jun*_*ang 13
好吧,@Harry Android 与 IOS 不同。
现在我的首要任务是 Android,所以是的。iOS 可能在未来
安卓:
Android 6.0开始,谷歌官方提供支持,android:windowLightStatusBar在style属性中配置Yes,设置为 时true,当状态栏的背景颜色为浅色时,状态栏的文字颜色会变灰。同样是true对false。至于如下:
<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>
Run Code Online (Sandbox Code Playgroud)
在 xamarin.forms 中可以按照此链接获得成功。
基本上你必须使用FormsAppCompatActivity代替FormsApplicationActivity和Theme.AppCompat.Light.NoActionBar代替Theme.Material.Light。
如果想要某些页面显示不同的样式,可以在活动的主题中更改它。
<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>
Run Code Online (Sandbox Code Playgroud)
IOS:
(1)、info.plist在Project.IOS中添加follow key-value :
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
Run Code Online (Sandbox Code Playgroud)
(2) 不使用代码:
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
Run Code Online (Sandbox Code Playgroud)
(3),或使用代码状态栏,方法的组文本颜色FinishedLaunching中AppDelegate.cs设定如下:
app.StatusBarStyle = UIStatusBarStyle.LightContent;
Run Code Online (Sandbox Code Playgroud)
(4)如果启动应用程序后想要一些页面改变颜色,可以为IOS自定义 ViewControllerRenderer,ViewDidLoad()方法:
UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8337 次 |
| 最近记录: |