Делаем Splash Screen (картинку при запуске приложения) в Android
Date and time: Oct. 10, 2015, 1:29 p.m. | Category: Android
Наконец-то у меня дошли руки до полноценного изучения разработки под Android без применения кроссплатформенных фреймворков. Разработку я веду в Android Studio 1.3 и сегодня расскажу как сделать Splash Screen, т.е. картику на весь экран при запуске Android приложения.
Я буду использовать фото вот этого зверя.
Приступим к реализации.
1. Создайте новый проект из шаблона Blank Activity.
2. Добавьте в папку drawable вашего проекта изображение для Splash Screen. Как я уже упоминал, в моём случае это будет cat.png
3. Создайте новый файл splash_screen.xml в папке layout со следующим содержимым.
<?xml version="1.0" encoding="utf-8"?>>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Здесь, cat - имя вашего изображения. -->
<ImageView android:id="@+id/splash_screen" android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/cat"
android:layout_gravity="center"/>
</LinearLayout>
4. Создайте новый класс активити SplashScreenActivity и добавьте в него следующий код, при этом не удаляйте в нём строку, начинающуюся с package.
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.os.Handler;
public class SplashScreenActivity extends Activity {
// Время в милесекундах, в течение которого будет отображаться Splash Screen
private final int SPLASH_DISPLAY_LENGTH = 2000;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// По истечении времени, запускаем главный активити, а Splash Screen закрываем
Intent mainIntent = new Intent(SplashScreenActivity.this, MainActivity.class);
SplashScreenActivity.this.startActivity(mainIntent);
SplashScreenActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
}
5. Откройте AndroidManifest.xml вашего приложения, объявите в нём SplashScreenActivity стартовым, а MainActivity без каких либо параметров. Место объявления будет выглядеть следующим образом.
<activity
android:name=".SplashScreenActivity"
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" />
6. Всё, готово. Запускаем и радуемся.
Готовый проект можно скачать у меня на Bitbucket.