aboutsummaryrefslogtreecommitdiffstats
path: root/android-mobile
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-01-19 12:42:58 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-01-19 12:42:58 -0800
commit04e994b57558ed9db0e5175c89c131f7f87d1bb7 (patch)
tree9235e0323d952db75f988d05fb416e5a14c51a9b /android-mobile
parentf466ee61da75705abd615a2a0d3cbaca12e3c902 (diff)
downloadsubsurface-04e994b57558ed9db0e5175c89c131f7f87d1bb7.tar.gz
Subsurface-mobile on Android: change the splash screen methodology
This is based on post by Ben Laud https://medium.com/@benlaud/complete-guide-to-make-a-splash-screen-for-your-qml-android-application-567ca3bc70af It creates a theme that uses a splash drawable that Android will show immediately when the application is launched. And then starts the QML application with visibility set to false adn only makes it visible (and replace the splash screen) once initialization is finished. We still get a little flicker with the switch from splash to start page to dive list, but over all the experience is hugely improved. And the bug that the splash screen stays around when starting Subsurface-mobile in landscape also appears to be fixed. Fixes #994 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'android-mobile')
-rw-r--r--android-mobile/AndroidManifest.xml4
-rw-r--r--android-mobile/res/drawable/splash.xml12
-rw-r--r--android-mobile/res/drawable/subsurface_mobile_splash.9.pngbin0 -> 95837 bytes
-rw-r--r--android-mobile/res/values/apptheme.xml6
4 files changed, 21 insertions, 1 deletions
diff --git a/android-mobile/AndroidManifest.xml b/android-mobile/AndroidManifest.xml
index f900cc55a..e598303d0 100644
--- a/android-mobile/AndroidManifest.xml
+++ b/android-mobile/AndroidManifest.xml
@@ -14,6 +14,7 @@
android:name="org.qtproject.qt5.android.bindings.QtActivity"
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation"
android:label="@string/app_name"
+ android:theme="@style/AppTheme"
android:launchMode="singleTop"
android:screenOrientation="unspecified" >
<intent-filter>
@@ -77,7 +78,8 @@
<!-- Splash screen -->
- <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/subsurface_mobile_splash" />
+<!-- <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/subsurface_mobile_splash" /> -->
+ <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash" />
<!-- Splash screen -->
</activity>
diff --git a/android-mobile/res/drawable/splash.xml b/android-mobile/res/drawable/splash.xml
new file mode 100644
index 000000000..a27a22df4
--- /dev/null
+++ b/android-mobile/res/drawable/splash.xml
@@ -0,0 +1,12 @@
+<?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="#000000FF"/>
+ </shape>
+ </item>
+ <item>
+ <bitmap android:src="@drawable/subsurface_mobile_splash"
+ android:gravity="center" />
+ </item>
+</layer-list>
diff --git a/android-mobile/res/drawable/subsurface_mobile_splash.9.png b/android-mobile/res/drawable/subsurface_mobile_splash.9.png
new file mode 100644
index 000000000..575b300cd
--- /dev/null
+++ b/android-mobile/res/drawable/subsurface_mobile_splash.9.png
Binary files differ
diff --git a/android-mobile/res/values/apptheme.xml b/android-mobile/res/values/apptheme.xml
new file mode 100644
index 000000000..adec2328c
--- /dev/null
+++ b/android-mobile/res/values/apptheme.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <style name="AppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
+ <item name="android:windowBackground">@drawable/splash</item>
+ </style>
+</resources>