한국어
Qt
 

이 글에서는 Qt로 작성된 안드로이드 응용프로그램에 Splash Screen을 추가하는 간단한 예를 설명한다.

 

Qt/QML에서 스플래시 화면을 작성하는 한 가지 옵션은 QML 또는 C++로 코드를 작성하는 것이다. 그러나 이 방법의 단점은 애플리케이션이 완전히 로드 될 때까지 검은색 화면을 보게된다.

 

스플래시 화면은 Android 에코 시스템을 사용하는 애플리케이션, 즉 매니페스트를 통해 애플리케이션에 추가된다. 따라서 매니페스트를 통해 Java를 사용하여 스플래시 화면을 보여줘야한다.

 

그럼 스플래시를 만들어 보자.

 

먼저 Projects > Build Settings 에서 Create Templates를 클릭한다.

templates.png

 

 

Finish를 클릭하여 프로젝트에 템플릿 추가를 완료한다.

template_wizard.png

 

추가된 AndroidManifest.xml 을 열고 다음과 같이 수정해야한다.

 

AndroidManifest.xml

애플리케이션 테마의 리소스 파일 (apptheme.xml)을 지정해야하는 매니페스트를 수정한다.

<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" 
          android:theme="@style/AppTheme" 
          android:name="org.qtproject.qt5.android.bindings.QtActivity" 
          android:label="-- %%INSERT_APP_NAME%% --" 
          android:screenOrientation="unspecified" 
          android:launchMode="singleTop">

 

다음으로 스플래시 화면 파일에 대한 정보를 추가한다.

<!-- Splash screen -->
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
<!-- Splash screen -->

 

 

다음으로 스플래시 및 테마파일을 추가해준다. 이 파일들은 res/values ​​및 res/drawable 디렉토리에 추가되어야 한다.

 

splash.xml

new_splash.png

 

스플래시 화면에는 응용 프로그램 아이콘이 있으며 drawable 디렉토리에도 있어야한다.

<?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="#FFFFFFFF"/>
        </shape>
    </item>
    <item>
         <bitmap android:src="@drawable/icon"
        android:gravity="center" />
    </item>
</layer-list>

 

 

apptheme.xml

new_apptheme.png

 

여기서 제목 표시 줄을 비활성화하고 응용 프로그램 창의 배경을 설정한다.

<?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>

 

프로젝트를 빌드하고 안드로이드 장치에 배포하면 스플래시 화면을 볼 수 있다.

android_splash.gif

 

다음 글을 참고: https://evileg.com/en/post/596/

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 85961
23 가상키보드(Qt Virtual Keyboard)를 사용하는 방법 [32] file makersweb 2019.05.03 221222
22 Windows에서 라즈베리파이3용 Qt5.10.0 크로스컴파일 [20] file makersweb 2018.02.23 12981
21 안드로이드 Qt 프로그래밍 file makersweb 2018.11.30 8826
20 라즈베리파이4에 대한 Qt 5.14.1 크로스컴파일 [1] file makersweb 2020.02.12 4450
19 QPA 플러그인과 EGLFS file makersweb 2017.11.21 3928
18 Qt Bluetooth를 이용한 시리얼(Serial) 통신 file makersweb 2019.02.17 3571
17 Qt5기반 독립 프로세스(out-of-process)로 동작하는 가상키보드(virtual keyboard) file makersweb 2019.02.24 2628
16 QtWayland와 ivi-compositor file makersweb 2018.12.27 2403
15 MCU용 Qt에 대해서 makersweb 2019.08.22 1916
14 라즈베리파이3에서 Boot to Qt 실행해보기 makersweb 2019.11.13 1668
13 Qt MQTT의 pus/sub 튜토리얼 file makersweb 2021.02.06 1642
12 Qt for Embedded Linux 화면출력 makersweb 2019.10.17 1599
11 싱글터치 스크린 및 임베디드 리눅스 기반에서 Qt 터치입력 makersweb 2018.12.24 1399
10 안드로이드 가상장치 사용 file makersweb 2019.01.13 1074
9 Qt MQTT 에 대해서 file makersweb 2020.06.02 960
» Qt로 작성된 안드로이드 APP에 Splash Screen을 추가 file makersweb 2020.03.10 885
7 Qt로 작성된 iOS 앱에서 시리얼 통신 file makersweb 2022.04.30 853
6 QPA 플러그인과 HTML5 Backend file makersweb 2017.12.27 808
5 Qt for MCU 1.0 릴리즈 makersweb 2019.12.10 752
4 Qt Bluetooth Low Energy 개요 makersweb 2022.02.13 668