Android小实例-启动页跳转首页

Android小实例-启动页跳转首页,第1张

Android小实例-启动页跳转首页
  • 介绍
  • 代码实现
    • MainAcitivity.java
    • NewAcitivity.java
    • 两个xml布局
      • acitivity_main.xml
      • acitivity_new.xml
    • 代码解析
  • 效果

介绍

让APP启动后在页面停留2秒,2秒后跳转到新页面。

代码实现

先创建新的Activity和对应的xml布局文件

主要文件结构:
java
– MainAcitivity.java
– NewAcitivity.java

– layout
– acitivity_main.xml
– acitivity_new.xml

MainAcitivity.java

最主要的是这个文件,其他的不重要


package com.buxiaju.test1;

import android.widget.TextView;
import android.os.Handler;
import android.content.Intent;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

	@Override
	protected void onStop() {
		super.onStop();
		// 当此页面进入后台后,销毁此页面
		finish();
	}

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
	
	@Override
	protected void onResume() {
		super.onResume();
		goNextPage(); // 跳到下个页面
	}
	
	// 跳到下个页面
	private void goNextPage() {
		// 延迟2秒(2000毫秒)后启动任务mGoNext
		new Handler().postDelayed(mGoNext, 3000);
	}
	
	private Runnable mGoNext = new Runnable() {
		@Override
		public void run() {
			// 活动页面跳转,从MainActivity跳到NewActivity
			startActivity(new Intent(MainActivity.this, NewActivity.class));
		}
	};
}

NewAcitivity.java

package com.buxiaju.test1;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class NewActivity extends AppCompatActivity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_new);
	}
}

两个xml布局

两个布局文件中都只是用了一个线性布局加一个文本控件

acitivity_main.xml
<LinearLayout 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=".MainActivity" >

    <TextView
        android:id="@+id/tv_hello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:text="Hello World!" />

LinearLayout>

acitivity_new.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_new"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:text="新的页面" />

LinearLayout>
代码解析

①在onResume()中写跳转页面的代码
②写一个页面跳转的方法,主要用到了new Handler().postDelayed(mGoNext, 3000);Handler的postDelayed方法。

postDelayed(Runnable接口,延时的时间)
两个参数:①Runnable接口
②延时的执行Runnable的时间,毫秒

在Runnable中写startActivity(new Intent(MainActivity.this, NewActivity.class));进行页面跳转

③最后在onStop()方法中写让页面销毁的方法finish(),为了当首页按返回键时是直接回到手机桌面,而不是回到启动页。

效果

打开APP后在这个页面会停留2秒

停留2秒后转到这个页面

下面是动图

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/794554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存