Xamarin实现将图片设置为启动页——Xamarin.forms(二)

版权声明:欢迎转载,转载请注明出处哦! https://blog.csdn.net/qq_41647999/article/details/84994900

其实设置启动页很简单,只是我在做的时候,踩了一些坑,就走了一些弯路。

我知道大家一点开这些博客就想看到源码,在我搭建环境给的demo里面就有一个splash的demo,多个app的demo免费相送,传送门:https://blog.csdn.net/qq_41647999/article/details/84844357

我这里就不慢慢的创建新项目,在一步一步的教大家做了。直接讲最核心的部分还有我踩的坑。

1、 放入启动页图片

打开项目之后,如果你是安卓手机,直接把符合大小的图片放在drawable的文件里面,如下图将bg.png设为启动页:

我刚学xamarin的时候,以为需要设置一下图片的路径,才能被正常访问。于是看了别人一篇文章,写了一个xml的文件和启动页图片一起丢在drawable里面,结果是启动页倒是显示了,但是主页面进不去了。我自己挖了一个坑,就是图片名是数字就丢在文件夹里面了,这样是错的。因为,每一个静态资源放在drawable里面,系统都会按照这个静态资源的名称作为变量,然后分配一个id,而大家都知道数字是不能够作为变量的。

总结Xamarin的默认路径就是drawable,图片的名称一定不能为数字。

2、 设置启动页图片

下述操作均在Android的项目里面进行。

(1) 将bg.png设为启动页,在styles.xml里写入这么一个样式。

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/bg</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowActionBar">true</item>
    <item name="android:windowContentOverlay">@null</item>
  </style>

(2) 先把 MainActivity.csMainLauncher = true 删除,这样app一启动就不会白屏等待加载MainActivity.cs。

(3) 创建一个SplashActivity.cs的文件

 (4) 大致内容如下图,把 MainLauncher = true 放到这个文件里面,然后写入theme引用xml里面写入的style。

 代码还是给出来吧:

using Android.App;
using Android.OS;
namespace IntelligentWorld.Droid
{
    [Activity(MainLauncher = true, NoHistory = true, Theme = "@style/SplashTheme")]
    class SplashActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            StartActivity(typeof(MainActivity));
        }
    }
}

启动页就完成了,如果你没有实现,欢迎您评论留言告诉我~

感谢您的阅读!

猜你喜欢

转载自blog.csdn.net/qq_41647999/article/details/84994900