728x90
오늘은 App 시작시 튜토리얼을 보여주는 페이지를 AppIntroPage를 사용해서 빠르게 만들어 보도록 하겠습니다.
1. 라이브러리 추가
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.AppIntro:AppIntro:6.2.0'
}
2. 인트로 Activity 만들기
package com.example.stickcode;
import androidx.fragment.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import com.github.appintro.AppIntroFragment;
import com.github.appintro.AppIntroPageTransformerType;
public class AppIntro extends com.github.appintro.AppIntro {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addSlide(AppIntroFragment.createInstance(// 슬라이드 화면 만들기
"제목1", // 제목
"슬라이드 설명1", // 슬라이드 설명
R.drawable.ic_slide1, // 슬라이드 이미지
R.color.black // 슬라이브 배경색
));
addSlide(AppIntroFragment.createInstance(
"제목2",
"슬라이드 설명2",
R.drawable.ic_slide2,
R.color.purple_200
));
addSlide(AppIntroFragment.createInstance(
"제목3",
"슬라이드 설명3",
R.drawable.ic_slide3,
R.color.purple_500
));
addSlide(AppIntroFragment.createInstance(
"제목4",
"슬라이드 설명4",
R.drawable.ic_slide4,
R.color.teal_700
));
// 슬라이드 전환모션
setTransformer(AppIntroPageTransformerType.Depth.INSTANCE);
// 인디케이터 상태봐를 숨길지 보여줄지
showStatusBar(true);
// 화면전환시 걸리는 시간
setScrollDurationFactor(2);
// 화면전환시 두 슬라이드의 색이 부드럽게 전환되는 기능
setColorTransitionsEnabled(true);
// 뒤로가기 버튼을 눌렀을때 슬라이드 종료 방지하기
setSystemBackButtonLocked(true);
// 하단 기본 메뉴키 안보이게하기
setImmersiveMode();
// 인디케이터 보이게할지 안보이게할지
setIndicatorEnabled(true);
}
// 스킵 버튼을 눌렀을때
@Override
protected void onSkipPressed(Fragment currentFragment) {
super.onSkipPressed(currentFragment);
startActivity(new Intent(getApplicationContext(),MainActivity.class));
finish();
}
// 완료 버튼을 눌렀을때
@Override
protected void onDonePressed(Fragment currentFragment) {
super.onDonePressed(currentFragment);
startActivity(new Intent(getApplicationContext(),MainActivity.class));
finish();
}
}
3. 매니페스트에 AppIntro Activity를 런처 액티비티로 변경
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.stickcode">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Stickcode"
tools:targetApi="31">
<activity
android:name=".AppIntro"
android:exported="true"
android:label="My App Intro"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity">
</activity>
</application>
</manifest>
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] Javax로 이메일 전송 기능 구현 (4) | 2023.01.02 |
---|---|
[Android][Java] DrawingAppLibrary 사용해서 그림판 만들기 (0) | 2022.12.31 |
[Android][Java]Slidinguppanel 사용해서 판넬 만들기 (0) | 2022.12.25 |
[Android][Java]RecyclerView-Selection 라이브러리 사용 (0) | 2022.12.22 |
[Java][Android] Wear(웨어러블) 앱 프로젝트 만들어보기 (0) | 2022.12.10 |