728x90
반응형
splash화면을 몇 초 뒤에 실행이 아닌 Androidmanifest.xml에서 테마를 설정해 로딩이 완료되면 메인 액티비티로 이동하게 해주는 방법으로 구현을 해봅시다.
1) Splash Activity.java를 추가 한 후 Main Activity 로 이동하는 코드를 구현.
public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } }
2) [res]-[drawable] 안에 splash.xml파일을 추가 한 뒤 구현. (splash 화면 색상/아이콘을 설정해줌)
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--splash 기본배경색--> <item android:drawable="@color/splash" /> <!--splash 로고나 기타 원하는 이미지--> <item> <bitmap android:src="@drawable/people" android:gravity="center" /> </item> </layer-list>
3) splash.xml 구현을 다 했으면 [res]-[values]-[styles.xml]에 splashtheme을 추가 해 준다.
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/splash </item> </style>
4) SplashActivity가 먼저 나오도록 Androidmanifest.xml에서 설정을 해준다. 이때 splashtheme스타일도 지정 해 준다.
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
위 부분이 MainActivity <activity>태그 안에 있을 것이다. Splash가 먼저 나오도록 SplashActivity <activity>태그 안에 넣어주고 Mainactivity 안에 있던 건 지워준다.
다음은 SplashActivity 태그부분이다. theme도 지정 해 주었다.
<activity android:name=".SplashActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
앱을 실행해보면 splash화면이 뜬 뒤에 메인 액티비티가 실행되는 것을 볼 수 있다.
728x90
반응형
'android' 카테고리의 다른 글
[j android] activity, fragment 간 데이터 전송 (0) | 2019.08.26 |
---|---|
[j android] 버튼 누르면 fragment 나타내기 (0) | 2019.08.23 |
[j android] fragment Activity에 나타내기(호출) (0) | 2019.08.22 |
[j android] 일정 시간 후 화면 전환 (Activity) (0) | 2019.08.20 |
[j android] 프로젝트 생성하기 (0) | 2019.08.19 |