LoginSignup
5
5

More than 3 years have passed since last update.

13. 【Android/Kotlin】Handler(画面遷移を遅延)

Last updated at Posted at 2020-09-28

はじめに

DreamHanksのMOONです。

前回はCircleImageViewという外部ライブラリを使用しました。
12. 【Android/Kotlin】丸いイメージ(CircleImageView)

今回はHandlerについて説明し、Handlerで画面遷移を遅延してみます。

Handlerとは

ハンドラは簡単にサブスレッドからメインスレッドへメッセージを受け渡すためのクラスです。

アンドロイドでは、UIの作業をサブスレッドですることは禁止されています。

なので、サブスレッドにUIの作業をしたい場合はHandlerを使用します。

画面遷移を遅延

・ローディング画面のActivityを作成

LoadingActivity.kt
package com.example.practiceapplication

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler

class LoadingActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_loading)

        //ハンドラのメソッド呼び出す
        loadingDelay()
    }

    //画面の遷移を遅延するためのメソッド
    fun loadingDelay(){
        //ハンドラを生成し、遅延時間を2秒に設定
        Handler().postDelayed({
            //2秒以降に画面を遷移するためのIntent設定
            val nextIntent = Intent(this, MainActivity::class.java)
            startActivity(nextIntent)
        }, 2000)
    }
}

・ローディング画面のレイアウトのxmlを作成
1.PNG

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#2a5a4c"
    android:gravity="center">

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="DreamHanks"
        android:textColor="#FFFFFF"
        android:textSize="50sp" />

</LinearLayout>

・画面遷移させるActivity、xmlを作成
 下記のリンクで確認してください。
 7. 【Android/Kotlin】バリデーションチェック

アプリ起動

・アプリを実行する時の初期のローディング画面

・2秒以降は遷移された画面

終わりに

今回はHandlerについて説明し、Handlerで画面遷移を遅延しました。

以降の記事については下記のリンク(DreamHanksのブログ)で確認することができます。
Android/Kotlinアプリ開発

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5