将Android状态栏设置为完全透明无法正常工作

时间:2019-05-22 04:13:39

标签: android android-layout xamarin.forms android-actionbar android-statusbar

我正在使用Xamarin.Forms构建移动应用程序,并且目前在将Android平台中的状态栏设置为完全透明时遇到了问题(就像这篇文章一样) here

因为我正在使用xamarin.forms,所以我只想使用Android的 styles.xml

我已经阅读了这篇文章(Android Completely transparent Status Bar?) 以及其他一些类似的帖子,并尝试了相同的方法,但我仍然无法使其正常工作。

这是我的styles.xml:


  <style name="MainTheme" parent="MainTheme.Base">
  </style>
  <style name="SplashTheme" parent="MainTheme.Base">
    <item name="android:windowBackground">@drawable/splash_screen</item>
  </style>
  <!-- Base theme applied no matter what API -->
  <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">#2196F3</item>
    <item name="colorPrimaryDark">#1976D2</item>
    <item name="colorAccent">#FF4081</item>
    <item name="windowActionModeOverlay">true</item>
    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>

    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:navigationBarColor">@android:color/transparent</item>

    <item name="android:windowTranslucentStatus">false</item>
    <item name="android:windowTranslucentNavigation">true</item>

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>

  </style>

  <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">#FF4081</item>
  </style>
</resources>

这是我的启动画面xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <bitmap
        android:src="@drawable/splash"
        android:tileMode="disabled"
        android:gravity="fill_horizontal|fill_vertical"
        />
  </item>
</layer-list>

我可以通过状态栏获得所需的结果,但是导航栏仍然存在问题。 图片在这里: Splash Screen

Screen

如您在图像中看到的,导航栏占据了我的应用程序内容的空间。

另外,当我将android:windowTranslucentNavigation更改为false时,它会在此处生成类似此图像的结果,条形图的位置正确,但颜色却糟透了after

我还需要将条形的内容颜色更改为较暗的颜色,而不是像这些图像那样变为白色。

所以我的问题是,仅通过在styles.xml中进行设置,如何才能使状态栏颜色完全透明,而使导航栏像我的前两幅图像一样是半透明的,以及它们的位置是否像我的最后一张图像一样半透明。 / p>

感谢您的帮助。

0 个答案:

没有答案