Qt for Android 自定义启动页(解决启动页拉伸的问题)

版权声明: https://blog.csdn.net/luoyayun361/article/details/81666956

前言

在之前的文章中(Qt for Android Splash启动页最简单延时关闭)介绍了如何在 Qt 开发的 android 应用中添加启动页,那里介绍的方法是直接给启动页设置一张图片来显示,但是这样会带来一个问题,如果的尺寸是固定的,然而如今市场上 android 设备的分辨率比例格式太多,如果通过这种方式来设置启动页,那么在不同设备上将会出现不适配的问题,可能出现不同程度的拉伸,这种用户体验显然是很差的,所以这里要介绍的是自定义启动页的方式来解决启动页拉伸的问题。

正文

创建布局文件

首先,我们需要创建一个 android 的布局文件 xml,在res/drawable目录下创建一个 xml 文件,并命名为background_splash.xml。
然后,打开该文件,并输入:

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

先是创建一个纯色背景,然后在背景上添加一张logo 图片来代表启动页。
其中这里颜色值colorStart是在 colors.xml 中定义的

<color name="colorStart">#2964be</color>

ic_launcher是我们启动需要的 logo 图片,存放在mipmap文件夹下。
如果对原生 android 开发布局熟悉的话,可以将页面做得更漂亮些,这里只是为了演示,做了一个简单的效果。

然后在AndroidMenifest.xml中将启动页设置为我们定义好的布局文件background_splash:

<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/background_splash"/>

效果图如下:

可以稍微做得好看些,比如加个渐变色,然后将 logo 图标网上移动一点,
修改启动页 xml 文件

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape >
            <gradient
            android:angle="-90"
            android:endColor="@color/colorEnd"
            android:startColor="@color/colorStart" />
        </shape>
    </item>
    <item android:left="10dip" android:top="200dip">
        <bitmap android:src="@mipmap/ic_launcher"
        android:gravity="center_horizontal|top"/>
    </item>
</layer-list>

效果图如下:

更多效果可以慢慢去研究啦,这里只是做简单的演示,掌握这种方法就可以扩展啦。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页