【发布时间】:2017-05-05 07:01:41
【问题描述】:
我创建了一个 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 颜色,我会得到一个灰色的状态栏。有什么解决办法?
【问题讨论】:
标签: android xamarin xamarin.android xamarin.forms