c# - 安卓模拟器上的状态栏颜色没有变化吗?
问题描述
我一直在尝试更改 Xamarin Forms 应用程序中的 StatusBar 颜色。我只能在模拟器上运行应用程序,没有安卓设备。
状态栏颜色变化没有反映在模拟器中吗?我一直在尝试使用 API 24+ 来模拟更改。我已经从这个页面上的答案中尝试了很多解决方案,包括直接在 styles.xml 中更改颜色,但都没有奏效。
我注意到 android 在尝试更改某些颜色时有一些非常奇怪的怪癖;但是,我开始认为在这种情况下,这可能是模拟器本身的问题。
有人有这方面的经验吗?谢谢你。
解决方案
您是否尝试过在您OnCreate()
的MainActivity
类方法中调用以下方法,它对我有用。
SetStatusBarColor(Android.Graphics.Color.Red);
之后,如果您想从共享代码项目中调用它,您可以创建一个依赖服务。
经测试:
- Xamarin.Forms 5.0.0-pre2
- 目标 Android 10.0 API 29
- 模拟器 30.1.5 安卓 9.0 API 28