Android Studio 基础 之 一个简单的 SplashActivity 实现

 

 

Android Studio 基础 之 一个简单的 SplashActivity 实现

目录

Android Studio 基础 之 一个简单的 SplashActivity 实现

一、简单介绍

二、实现原理

三、效果预览

四、关键代码


 

一、简单介绍

Android 开发中的一些基础操作,使用整理,便于后期使用。

本节介绍一个简单的 Splash Activity 的实现。

 

二、实现原理

1、建立一个 Splash 布局界面

2、Hander 延迟 跳转主界面

3、或者点击屏幕跳转主界面

 

三、效果预览

 

四、关键代码

1、SplashActivity.java

package com.example.administrator.mplayer0606;

import android.app.Activity;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;

public class SplashActivity extends Activity {

    private static final String TAG = SplashActivity.class.getSimpleName();

    Handler handler =new Handler();

    boolean isStartMainActivity = false;

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

        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                startMainActivity();
                Log.i(TAG, "run: 当前线程为:"+Thread.currentThread().getName());
            }

            
        },2000);
    }

    /**
     * 跳转主界面
     */
    private void startMainActivity() {
        if (isStartMainActivity == false){

            isStartMainActivity = true;
            Intent intent = new Intent(this,MainActivity.class);
            startActivity(intent);

            finish();
        }


    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // 点击跳动主界面
        Log.i(TAG, "onTouchEvent: Action "+ event.getAction());
        startMainActivity();
        
        return super.onTouchEvent(event);
        
    }

    @Override
    protected void onDestroy() {

        // 移除延迟函数
        handler.removeCallbacks(null);

        super.onDestroy();
    }
}

 

2、MainActivity.java

package com.example.administrator.mplayer0606;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView textView = new TextView(this);
        textView.setText("我是主界面");
        textView.setTextColor(Color.RED);
        textView.setGravity(Gravity.CENTER);
        textView.setTextSize(30);

        setContentView(textView);
    }
}

 

3、activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SplashActivity">

    <ImageView
        android:id="@+id/iv_splash_icon"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_centerInParent="true"
        android:src="@drawable/vidoelogo"
        />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/iv_splash_icon"
        android:gravity="center"
        android:orientation="horizontal"
        >

        <ProgressBar
            android:layout_width="30dp"
            android:layout_height="30dp"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="正在启动..."
            android:textSize="18sp"
            android:layout_marginLeft="8dp"
            />

    </LinearLayout>

</RelativeLayout>

 

4、AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.administrator.mplayer0606">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"></activity>
    </application>

</manifest>

 

猜你喜欢

转载自blog.csdn.net/u014361280/article/details/106583163