반응형
Andriod Studio를 이용하여 어플의 Icon과 Splash를 변경해 보겠다.
0. Icon, Splash란?
1. Icon 변경
2. Splash 변경
0. Icon, Splash란?
Icon이란 핸드폰에 보이는 어플 모습이고
Splash란 어플이 시작할 때에 나타나는 시작 화면이다.
1. Icon 변경
- res를 마우스 우클릭 후 New -> Image Asset 클릭
- Name과 Layer Name을 원하는 것으로 변경한 후 Path를 만들어놓은 아이콘으로 지정
- AndroidMainfest.xml 에서 표시한 두 곳을 바꿔준다 끝!!
2. Splash 변경
- Splash screen은 이미지나 로고, 현재 버전의 소프트웨어를 포함한 그래픽 요소를 보여주는 화면으로, 보통 게임이나 프로그램이 실행되고 있을 때 나오는 화면
-결론인 구현 방법부터 공유드리면 간단하게 Splash Theme를 적용하고 MainActivity에 접근하면 AppTheme를 띄우도록 설정한다.
2.1drawbale 에 원하는 이미지 추가
2.2 res/drawable 폴더에 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/white" /> <!--기본 배경에 입혀지는 색-->
<item>
<bitmap
android:src="@drawable/splash" /> <!--app logo-->
</item>
</layer-list>
2.3 res/values/style.xml파일에(없으면 만들어준다) 아래의 코드 입력.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--splash 화면에 사용될 테마-->
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
</resources>
2.4 SlashActivity 파일 생성 후 아래의 코드 입력
- Thread.sleep(2000);는 2초간 스플래시 이미지를 보인다는 뜻이다.
package com.taehui.hot_topic;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class SplashActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try{
Thread.sleep(2000);
}catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent=new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}
2.5 AndroidMainfest폴더에 들어간다. 아래와 같이 수정
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taehui.hot_topic">
<uses-permission android:name = "android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher_topic"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_topic_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.NoActionBar">
<activity android:name="com.taehui.hot_topic.SplashActivity"
android:theme="@style/SplashTheme"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.taehui.hot_topic.MainActivity">
</activity>
</application>
</manifest>
이렇게 Icon과 Splash 적용을 완료했다. Icon 같은 경우 매우 간단하지만 Splash는 조금 더 복잡하다.
Icon 사이즈는 512 x 512
splash 사이즈는 1242 x 2436
위에 사이즈가 표준이다.
2021.04.29
splash 이미지가 확대되는 문제 발생 해결
이는 bitmap 에있는 android:gravity="center" 때문이다. gravity에는 많은 함수들이 있지만 스플레시에는 그냥 써주지 않는 게 가장 효율적이다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" /> <!--기본 배경에 입혀지는 색-->
<item>
<bitmap
android:gravity="center"
android:src="@drawable/splash" /> <!--app logo-->
</item>
</layer-list>
수정 전
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
수정 후
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white" /> <!--기본 배경에 입혀지는 색-->
<item>
<bitmap
android:src="@drawable/splash" /> <!--app logo-->
</item>
</layer-list>
반응형
'APP' 카테고리의 다른 글
[관상테스트] 관상으로 보는 범죄성향 테스트 (0) | 2021.11.23 |
---|---|
[WebView][AndroidStudio] 안드로이드 WebView 카메라 및 사진 업로드 퍼미션 (2) | 2021.11.22 |
[Android Studio] APP 이름 바꾸기 (0) | 2021.10.03 |
[Android Studio] (Goolgle Store App 등록 Erorr) 이미 버전 코드가 1인 APK 또는 Android App Bundle이 있으므로 다른 버전 코드를 사용해야 합니다. (0) | 2021.10.02 |
안드로이드 스튜디오 없이 간편한 어플만들기 (Reacte native) (0) | 2021.09.28 |