android 每隔2秒执行_Android欢迎页面2秒钟后自动跳转到主页面

2023-11-11 23:31

本文主要是介绍android 每隔2秒执行_Android欢迎页面2秒钟后自动跳转到主页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

页面跳转

一、功能介绍

打开APP先进入欢迎页面,2秒钟后自动进入主页面

二、项目结构分析

三、详细代码

1、WelcomeActivity.java

package com.xingyun.shoopingmail4;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import com.xingyun.shoopingmail4.activity.MainActivity;

public class WelcomeActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_welcome);

//两秒钟进入主页面

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

//执行在主线程

//启动主页面

startActivity(new Intent(WelcomeActivity.this,MainActivity.class));

//关闭当前页面

finish();

}

},2000);

}

}

2、MainActivity.java

package com.xingyun.shoopingmail4.activity;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.widget.FrameLayout;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import com.xingyun.shoopingmail4.R;

import butterknife.Bind;

import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity {

@Bind(R.id.frameLayout)

FrameLayout frameLayout;

@Bind(R.id.rg_main)

RadioGroup rgMain;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ButterKnife.bind(this);

rgMain.check(R.id.rb_home);

}

}

3、AndroidManifest.xml

package="com.xingyun.shoopingmail4">

android:allowBackup="true"

android:icon="@drawable/logo"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

4、activity_mainjava

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#ffffff"

android:orientation="vertical"

tools:context=".activity.MainActivity">

android:id="@+id/frameLayout"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" />

android:id="@+id/rg_main"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:background="@drawable/home_bottom_parent_bg"

android:orientation="horizontal">

android:id="@+id/rb_home"

style="@style/MainButtonStyle"

android:drawableTop="@drawable/home_button_selector"

android:text="首页" />

android:id="@+id/rb_type"

style="@style/MainButtonStyle"

android:drawableTop="@drawable/type_button_selector"

android:text="分类" />

android:id="@+id/rb_community"

style="@style/MainButtonStyle"

android:drawableTop="@drawable/community_button_selector"

android:paddingTop="10dp"

android:text="发现" />

android:id="@+id/rb_cart"

style="@style/MainButtonStyle"

android:drawableTop="@drawable/cart_button_selector"

android:text="购物车" />

android:id="@+id/rb_user"

style="@style/MainButtonStyle"

android:drawableTop="@drawable/user_button_selector"

android:text="个人中心" />

5、activity_welcome.java

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_welcome"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:background="#ffffff"

tools:context=".WelcomeActivity">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:src="@drawable/logo" />

6、build.gradle

apply plugin: 'com.android.application'

android {

compileSdkVersion 28

defaultConfig {

applicationId "com.xingyun.shoopingmail4"

minSdkVersion 16

targetSdkVersion 28

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

testImplementation 'junit:junit:4.12'

androidTestImplementation 'com.android.support.test:runner:1.0.2'

androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

implementation 'com.jakewharton:butterknife:7.0.1'

}

四、运行结果

4b941d6c393b7d9de77460fa11e72756.png

————>2秒钟后自动跳转到下面的界面:

d82a7634f010ba72318f033b5c2e9212.png

这篇关于android 每隔2秒执行_Android欢迎页面2秒钟后自动跳转到主页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393550

相关文章

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.