我正在使用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>
我可以通过状态栏获得所需的结果,但是导航栏仍然存在问题。 图片在这里:
如您在图像中看到的,导航栏占据了我的应用程序内容的空间。
另外,当我将android:windowTranslucentNavigation
更改为false时,它会在此处生成类似此图像的结果,条形图的位置正确,但颜色却糟透了
我还需要将条形的内容颜色更改为较暗的颜色,而不是像这些图像那样变为白色。
所以我的问题是,仅通过在styles.xml中进行设置,如何才能使状态栏颜色完全透明,而使导航栏像我的前两幅图像一样是半透明的,以及它们的位置是否像我的最后一张图像一样半透明。 / p>
感谢您的帮助。