-
반응형
안녕하세요, 하루플스토리 입니다.
여러 앱들을 접속할 때 인트로 로고 화면이 뜨는 것을 많이 보셨을겁니다.
이러한 로고를 제작하고 인트로화면을 생성하는 방법을 알려드리겠습니다.
1. 로고 제작
무료로 로고나 ppt 등 템플릿 제작할 수 있는 사이트 입니다. 저작권 걱정 전혀 없으니 여기서 편하게 제작하시거나 포토샵으로 제작하셔도 좋습니다.
사이즈는 가로1080 * 세로1920px 이 무난합니다.
제작한 이미지는 res - drawable 폴더에 드래그 해서 넣어줍시다.
2. introActivity.xml 레이아웃 생성
res - layout (오른쪽 마우스) - new - Layout Resource File
레이아웃명은 알아서 지어줍시다. 저는 intro_activity 라고 했습니다.
intro_activity.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <ImageView android:layout_width="300dp" android:layout_height="wrap_content" android:src="@drawable/logo" android:layout_gravity="center" /> </LinearLayout>
아마 맨처음엔 ConstraintLayout 으로 설정되어 있을건데 LinearLayout이 편해서 바꾸어주었습니다.
이미지뷰 넣고 아까 만든 logo 이미지 파일명을 android:src="@drawable/logo" 로 적어줍니다.
3. IntroActivity.Java 생성
java - New - Java Class 에서 IntroActivity 를 적어 생성해줍니다.
이 자바 파일은 당연히 아까 만든 intro_activity.xml 과 연결시킬겁니다.
IntroActivity.java
import android.content.Intent; import android.os.Bundle; import android.os.Handler; import androidx.appcompat.app.AppCompatActivity; public class IntroActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.intro_activity); //xml , java 소스 연결 Handler handler = new Handler(); handler.postDelayed(new Runnable(){ @Override public void run() { Intent intent = new Intent (getApplicationContext(), MainActivity.class); startActivity(intent); //인트로 실행 후 바로 MainActivity로 넘어감. finish(); } },1000); //1초 후 인트로 실행 } @Override protected void onPause(){ super.onPause(); finish(); }
여기까지 하면 실행되지 않습니다.
매니페스트에서 현재는 맨 처음 실행되는 것이 MainActivity로 설정되어있기 때문에 인트로가 실행되지 않습니다.
매니페스트를 수정해줍시다.
기존 MainActivitiy가 있던 자리를 IntroActivity로 교체하고 MainActivity는 아래에서 자바파일이 있다는 것을 알려주도록 합니다. 이 소스코드가 없으면 앱이 팅기게 됩니다.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.justice.maple_name_maker"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.NoActionBar"> <activity android:name=".IntroActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Developer_info"/> <activity android:name=".Name_rule"/> <activity android:name=".MainActivity"/> </application> </manifest>
실행결과
인트로화면이 1000ms (1초)동안 출력되고 Main화면이 출력되게 됩니다.
막히는 점이나 모르는 점은 댓글에 남겨주세요!
반응형'개발 > Android' 카테고리의 다른 글
안드로이드 스튜디오 SDK 환경변수 설정하는 방법 (SDK 폴더 경로) (10) 2021.01.10 안드로이드 스튜디오 구글 애드몹 배너광고 넣기 (google adMob) (2) 2021.01.05 안드로이드 스튜디오 이미지(drawble)와 텍스트뷰(TextView) 매칭시키기 (5) 2021.01.04 안드로이드 스튜디오 버튼 클릭시 다른 Activity로 화면전환 (1) 2021.01.03 안드로이드 스튜디오 랜덤 문자 생성 및 TextView 출력하기 (0) 2021.01.02 댓글