로딩페이지(Loading) 만들기(1)

Posted by ITPangPang
2016.03.31 00:38 안드로이드(android)/인텐트



로딩액티비티(Loading) 



- Intent와 postDelayed를 사용한다

- splash라고 많이 부른다.

- 보통 이미지 한장을 많이 쓴다.


1)  기본 MainActivity 생성

public class MainActivity extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

2)  LoadingActivity생성(복붙한후에 이름만 바꿔준다)

public class LoadingActivity extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}


3)  activity_main.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main Activity"
android:textColor="#000000"
android:textSize="30sp"/>

</LinearLayout>


4)  activity_loading.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".LoadingActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading Activity"
android:textColor="#000000"
android:textSize="30sp"/>

</LinearLayout>


5)  LoadingActivity에서 postDelayed로 딜레이를 넣고 인텐트로 액티비티 전환을 한다

public class LoadingActivity extends Activity
{
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loading);
loading();
}

private void loading()
{
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable()
{
@Override
public void run()
{
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}, 3000);
}
}


6) Manifest.xml에서 위에 있는 <activity> ~ </activity> 대충 복붙해서 붙인다음 name만 바꿔준다.

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity
android:name=".LoadingActivity"
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=".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>
</application>


저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로
    • 빡코치
    • 2016.07.15 11:01 신고
    참고잘했습니다^^ 그런데 로딩화면 다음에 메뉴 화면 나오고 나서 뒤로 가기 누르면 또 로딩화면 나오는데 어떻게하죠?
    • 빡코치
    • 2016.07.15 11:23 신고
    코드 수정 좀 해주세요^^ loadingactivity에서 loading메소드 안에 run메소드안에 startactivity밑에 finish()해주어야 뒤로가기 눌러도 로딩안나와요~