반응형
안드로이드(android) 앱이 실행되면서 스플래시(splash, 로딩) 화면을 띄우는 소스입니다.
여러가지 방법이 있겠지만 제가 사용하는 방법은 아래와 같습니다.
AndroidManifest.xml
<!-- 메인 액티비티 -->
<activity android:name="MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 스플래시(로딩) 액티비티 -->
<activity android:name="SplashActivity"/>
MainActivity .java
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
// 스플래시 화면 띄우기
startActivity(new Intent(this, SplashActivity.class));
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialize(); // 시간이 걸리는 작업 처리
}
/**
* 스플래시 표시하는 것과 초기화를 동시에 진행시키기 위하여 쓰레드 처리
*
*/
private void initialize()
{
InitializationRunnable init = new InitializationRunnable();
new Thread(init).start();
}
/**
* 초기화 작업 처리
*
*/
class InitializationRunnable implements Runnable
{
public void run()
{
// 여기서부터 초기화 작업 처리
// do_something
}
}
}
SplashActivity.java
public class SplashActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
initialize();
}
private void initialize()
{
Handler handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
finish(); // 액티비티 종료
}
};
handler.sendEmptyMessageDelayed(0, 3000); // ms, 3초후 종료시킴
}
}
* 화면을 가로/세로 모드로 전환할 경우 스플래쉬 액티비티가 보이는 문제가 발생할 경우 대처
- 여러가지 방법이 있겠지만 아래처럼 처리하면 됩니다.(2010/10/27 추가)
AndroidManifest.xml
<!-- 메인 액티비티 -->
<activity android:name="MainActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 스플래시(로딩) 액티비티 -->
<activity android:name="SplashActivity"/>
출처 :http://isulnara.com/tt/227
반응형
'Android' 카테고리의 다른 글
eclipse 한글 크기 변경 (1) | 2013.01.25 |
---|---|
버튼 누름 효과 (0) | 2013.01.25 |
윈도우에서 안드로이드 NDK 개발환경 설치 (0) | 2013.01.01 |
TCP/IP (0) | 2012.12.30 |
안드로이드 개발 팁 (0) | 2012.12.29 |