• Android开发学习日记--简单页面跳转、延时页面跳转


    一、效果展示

    二、 实现步骤:

    1.设置起始主页面

    为了简单起见,仅设置一个按钮

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent"
    6. android:background="#F3F9F1"
    7. android:orientation="vertical"
    8. android:columnCount="4"
    9. android:collapseColumns=""
    10. tools:context=".MainActivity">
    11. <Button
    12. android:id="@+id/tz"
    13. android:layout_height="match_parent"
    14. android:layout_width="match_parent"
    15. android:text="跳转"
    16. >
    17. </Button>
    18. </LinerLayout>

    效果如下:

    主页面java代码:

    1. package com.example.study_taiqiu;
    2. import androidx.appcompat.app.AppCompatActivity;
    3. import android.content.Intent;
    4. import android.os.Bundle;
    5. import android.view.View;
    6. import android.widget.Button;
    7. import android.widget.Toast;
    8. public class MainActivity extends AppCompatActivity {
    9. @Override
    10. protected void onCreate(Bundle savedInstanceState) {
    11. super.onCreate(savedInstanceState);
    12. setContentView(R.layout.activity_main);
    13. Button b=findViewById(R.id.tz); //定位到按钮
    14. b.setOnClickListener(new View.OnClickListener() { //为按钮设置监听器
    15. @Override
    16. public void onClick(View view) {
    17. Intent i=new Intent();
    18. i.setClass(MainActivity.this,Main_tiaozhuan.class);
    19. startActivity(i);
    20. }
    21. });
    22. }
    23. }

     2.设置跳转页面

    跳转页面的布局:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. android:orientation="vertical" android:layout_width="match_parent"
    5. android:layout_height="match_parent">
    6. <TextView
    7. android:id="@+id/textView"
    8. android:layout_width="match_parent"
    9. android:layout_height="match_parent"
    10. android:gravity="center"
    11. android:text="这是跳转页面"
    12. android:textSize="30sp" />
    13. </LinearLayout>

    跳转页面java代码:(啥也不用设)

    1. import android.os.Bundle;
    2. import androidx.annotation.Nullable;
    3. import androidx.appcompat.app.AppCompatActivity;
    4. public class Main_tiaozhuan extends AppCompatActivity {
    5. @Override
    6. protected void onCreate(@Nullable Bundle savedInstanceState) {
    7. super.onCreate(savedInstanceState);
    8. setContentView(R.layout.tiaozhuan); //加载布局
    9. }
    10. }

    3.在AndroidManifest.xml中添加页面

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3. package="com.example.study_taiqiu">
    4. <application
    5. android:allowBackup="true"
    6. android:icon="@mipmap/ic_launcher"
    7. android:label="@string/app_name"
    8. android:roundIcon="@mipmap/ic_launcher_round"
    9. android:supportsRtl="true"
    10. android:theme="@style/AppTheme">
    11. <activity android:name=".MainActivity">
    12. <intent-filter>
    13. <action android:name="android.intent.action.MAIN" />
    14. <category android:name="android.intent.category.LAUNCHER" />
    15. </intent-filter>
    16. </activity>
    17. <activity android:name=".Main_tiaozhuan" /> //设置跳转页面
    18. </application>
    19. </manifest>

    三、进阶版本----延时页面跳转

    首先,其实跳转页面的代码可以简化为:

    startActivity ( new Intent ( MainActivity . this , Main2Activity . class ));
    在不产生歧义的情况下,可以精简为:
    startActivity ( new Intent ( this , Main2Activity . class ));
    这次我们让应用启动后,在首页停留3秒,然后跳转。这里用到了Handler工具的 postDelayed 方法,该方法的第 个参数为待处理的 Runnable 任务对 象,第二个参数为延迟间隔(单位为毫秒)。java代码如下:
    只需修改主页面java代码,其他都不需要改动:
    1. package com.example.tiaozhuan;
    2. import androidx.appcompat.app.AppCompatActivity;
    3. import android.content.Intent;
    4. import android.os.Bundle;
    5. import android.os.Handler;
    6. import android.os.Looper;
    7. import android.view.View;
    8. import android.widget.Button;
    9. import android.widget.Toast;
    10. public class MainActivity extends AppCompatActivity {
    11. @Override
    12. protected void onCreate(Bundle savedInstanceState) {
    13. super.onCreate(savedInstanceState);
    14. setContentView(R.layout.activity_main);
    15. Button b=findViewById(R.id.tz);
    16. b.setOnClickListener(new View.OnClickListener() {
    17. @Override
    18. public void onClick(View view) {
    19. startActivity(new Intent(MainActivity.this ,tiaozhuan.class));
    20. }
    21. });
    22. }
    23. @Override
    24. protected void onResume() {
    25. super.onResume();
    26. new Handler(Looper.myLooper()).postDelayed(next, 3000); //延时3秒,执行页面跳转
    27. }
    28. private Runnable next =new Runnable() {
    29. @Override
    30. public void run() { //页面跳转
    31. startActivity(new Intent(MainActivity.this ,tiaozhuan.class));
    32. }
    33. };
    34. }

  • 相关阅读:
    k8s 读书笔记 - CRI(容器运行时接口)详解
    算法学习笔记(19): 树上启发式合并(DSU on tree)
    Spring之aop
    目标追踪Sort与DeepSort算法
    pip 安装任意软件包报错
    《线性代数》科教版教材必会习题
    MyBatisPlus代码生成
    明道云工作流不触发表单默认值
    【Designing ML Systems】第 11 章 :机器学习的人性方面
    Type android.support.v4.app.INotificationSideChannel is defined multiple times
  • 原文地址:https://blog.csdn.net/m0_52238102/article/details/125405292