- 介绍
- 代码实现
- 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
最主要的是这个文件,其他的不重要
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秒后转到这个页面
下面是动图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)