我创建了一个 Xamarin Forms 项目,但无法将 Android 状态栏颜色更改为透明。我在 MainActivity 的 OnCreate() 方法中以编程方式更改颜色,如下所示:
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
{
Window.ClearFlags(WindowManagerFlags.TranslucentStatus);
Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
Window.SetStatusBarColor(Color.Transparent);
}
我尝试了不同的颜色,效果很好,但“透明”根本不起作用。我正在 API 22 上进行测试。
我的style.xml如下:
<style name="MainTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="colorAccent">#FF4081</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
例如,如果我以编程方式将颜色设置为紫色,它将毫无问题地工作,但如果我将其设置为透明,我将得到蓝色的 style.xml 颜色。如果我删除 style.xml ColorPrimaryDark 颜色,我会看到灰色状态栏。解决办法是什么?
你尝试过这个吗?
<item name="android:windowTranslucentStatus">true</item>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)