조회 수 6299 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

이 글에서는 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/


  1. Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서

  2. UI 폼(Form)작성 시 탭 순서(Tab Order) 설정

  3. Qt로 데이터를 직렬화(serialization)하는 방법

  4. 최초의 Qt 6.0 스냅샷 제공 (First Qt 6.0 Snapshot Available)

  5. Qt MQTT 에 대해서

  6. Embedded Linux 에서 Qt 및 Graphics Stack

  7. ShaderEffect QML Type을 이용한 버튼 클릭 효과

  8. Qt기반의 서버와 클라이언트간 SOAP(Simple Object Access Protocol)

  9. 재진입(Reentrancy) 및 스레드 안전성(Thread-Safety)

  10. Qt 5.15 및 Qt 6의 출시 일정

  11. 콘솔에서 사용자 입력받기

  12. 컨테이너 클래스 - QVector

  13. Qt로 작성된 안드로이드 APP에 Splash Screen을 추가

  14. QLabel의 텍스트 색과 배경색을 변경

  15. 라즈베리파이4에 대한 Qt 5.14.1 크로스컴파일

  16. QOpenGLWidget 을 투명하게 적용

  17. 2020년에 변경되는 Qt 오퍼 (Qt offering changes 2020)

  18. Qt로 XML 파싱 : Qt 6에서 업데이트된 (Parsing XML with Qt: Updates for Qt 6)

  19. Qt 멀티 스레드 프로그래밍 시 유의해야 할 몇 가지

  20. ApplicationWindow 와 메뉴바(MenuBar)구성

  21. QThread 소개 및 예제

Board Pagination Prev 1 2 3 4 5 6 9 Next
/ 9