挖井

类库大魔王的挖井日记

挖一口属于自己的井


设置Android app的preview screen

之前写过一篇文章谈到为Android app设置splash screen,以避免Qt写的app启动时有一段时间黑屏。今天收到一位朋友的email询问,在splash screen之前仍然会有一个黑屏,怎么去除。

这个问题其实很好解决,这是Android系统本身的设计如此,跟Qt本无关系。这个splash screen前出现的黑屏叫preview screen,我们可以通过设置一个theme来定义它的外观,一般说来我们可以通过把它的窗口背景色设置成跟splash screen的背景色相同,来使得这2个screen切换过渡看起来比较自然。

比如我在istkani上用splash screen是白色的背景色,于是需要添加一个文件 $(PROJECT)/android/res/values/styles.xml定义theme:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="istkaniTheme" parent="@android:style/Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@android:color/white</item>
    </style>
</resources>

注意,其中@android:color/white就是设置的颜色值。

然后修改$(PROJECT)/android/AndroidManifest.xml,设置application的theme:

<application 
				android:name="com.dfordsoft.istkani.IstkaniApp" 
				android:label="@string/app_name" 
				android:icon="@drawable/icon" 
				android:theme="@style/istkaniTheme" >
......

注意,这里@style/istkaniTheme要与前面styles.xml中定义的style name一致。

经过以上两步,启动app时会先显示一个全屏的白色preview screen,然后立即显示一个在白色背景之上有图案的splash screen,让人感觉非常自然。

本文地址:

https://minidump.info/blog/2015/06/preview-screen-on-android/

上一篇

Qt for Mobile程序设置启动图片

Qt for Mobile默认是用了一张纯黑的图片作为程序启动图片,所以一开始程序启动时会出现1到几秒的黑屏,机器越慢,这个时间越长,比较不美观,我们可以自己动手设置上适合的图片。移动app的启动图片在iOS上叫launch image,在Android上叫splash screen,在ist...…

Qt 全文阅读
下一篇

到手一台13吋Retina MBP

想要MBP好多年了,一直没下决心买,实在是觉得有点小贵。于是拖了一年又一年,直到现在都差不多已经绝了自己花钱买MBP的念头,最大的进帐也就是去年情人节给妹子买了个MBA。最近同学的公司红红火火开起来,要我给写个程序,于是我就趁机提出能不能给我配个笔记本,家中的电脑确实有点不好用了。DIY的台式...…

Life 全文阅读