其他分享
首页 > 其他分享> > android – 启动屏幕活动背景颜色

android – 启动屏幕活动背景颜色

作者:互联网

我在Android上的启动画面有问题.
在长时间应用程序启动期间向用户显示启动画面,但活动背景始终为黑色.我的意思是背景位图(启动图像)是可见的,但背景是黑色而不是白色.我正在使用具有透明度的PNG图像.

我有的:

> PNG飞溅屏幕图像与透明背景
>启动屏幕活动

    [Activity(MainLauncher = true, Theme = "@style/Theme.Splash", NoHistory = true)]
    public class SplashScreen : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Do your app initialization here
            // Other long running stuff

            // Run app when done
            StartActivity(typeof(MainForm));
        }
    }

>资源/值/ styles.xml中的启动画面活动的主题样式

    <resources>
      <style name="Theme.Splash" parent="@android:style/Theme.Holo.Light">
        <item name="android:windowBackground">@drawable/splash_centered</item>
        <item name="android:windowNoTitle">true</item>
      </style>
    </resources>

> Splash drawable in resources / drawable / splash_centered.xml

    <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
        android:src="@drawable/splash"
        android:gravity="center"
        android:background="@color/white"> <!-- this is ignored -->

问题:
正如你所看到的,我使用Theme.Holo.Light作为父主题,我在我的应用程序的其余部分使用它. Holo光使用白色背景.
此白色背景不适用于SplashActivity背景.
SplashActivity背景总是黑色的.
背景位图(启动图像)可见,但背景为黑色而不是白色.我正在使用具有透明度的PNG图像.

题:
如何在SplashScreen活动上设置默认的Holo.Light主题背景颜色(白色)?

注意:
我正在使用Xamarin.Android,但Android平台的样式很常见. Android版本4及更高版本.

解决方法:

在resources / drawable / splash_centered.xml中,使用图层列表而不是位图

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="rectangle">
      <solid android:color="@android:color/white" />
    </shape>
  </item>
  <item>
    <bitmap android:gravity="center" android:src="@drawable/splash" />
  </item>
</layer-list>

标签:android,xamarin,splash-screen
来源: https://codeday.me/bug/20191004/1851944.html