Android 实现闪屏页和右上角的倒计时跳转实例代码

作者:hyyweb 时间:2022-12-10 17:32:32 

以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线程的创建和Handler队列封装成为了一个方便的类调用。

闪屏页用到了handler和CountDownTimer类,还需配置一下Activity的主题,这里是:android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 全屏主题的意思。

给大家展示下效果图:

Android 实现闪屏页和右上角的倒计时跳转实例代码

代码如下所示:


package com.example.shanping;
import java.lang.ref.WeakReference;
import com.example.shanping.MyActivity.MyCountDownTimer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private MyCountDownTimer mc;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView1);
mc = new MyCountDownTimer(3000, 1000);
mc.start();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent=new Intent(MainActivity.this,MyActivity.class);
startActivity(intent);
}
}, 3000);
}
private Handler handler=new Handler();
/**
* 继承 CountDownTimer 防范
*
* 重写 父类的方法 onTick() 、 onFinish()
*/
class MyCountDownTimer extends CountDownTimer {
/**
*
* @param millisInFuture
* 表示以毫秒为单位 倒计时的总数
*
* 例如 millisInFuture=1000 表示1秒
*
* @param countDownInterval
* 表示 间隔 多少微秒 调用一次 onTick 方法
*
* 例如: countDownInterval =1000 ; 表示每1000毫秒调用一次onTick()
*
*/
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
tv.setText("正在跳转");
}
public void onTick(long millisUntilFinished) {
tv.setText("倒计时(" + millisUntilFinished / 1000 + ")");
}
}
}

下面给大家分享一段代码关于Android实现启动闪屏界面效果

闪屏,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后,自动关闭。

android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作。demo代码如下:

java code:


package com.mstar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class ActSplashScreen extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.shan);
// 闪屏的核心代码
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(ActSplashScreen.this,DialogTest.class); //从启动动画ui跳转到主ui
startActivity(intent);
ActSplashScreen.this.finish(); // 结束启动动画界面
}
}, 3000); //启动动画持续3秒钟
}
}

xml code:


<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="闪一下"
>
</TextView>
</LinearLayout>
标签:android闪屏页,倒计时,跳转
0
投稿

猜你喜欢

  • C# 如何解析获取Url参数值

    2022-07-03 01:00:52
  • Java实现在线聊天功能

    2021-10-18 22:16:23
  • 基于Mybatis-plus实现多租户架构的全过程

    2023-08-03 02:10:57
  • Maven分步详解多环境配置与应用流程

    2021-12-28 07:52:14
  • Android 中无法取消标题栏的问题小结(两种方法)

    2021-06-25 19:45:02
  • Android编程获取通知栏高度的方法

    2023-10-23 22:50:24
  • C#实现身份证验证功能的示例代码

    2022-05-14 20:53:25
  • C# 异步多线程入门基础

    2022-01-19 05:23:05
  • java中调用super的实例讲解

    2021-12-13 01:01:12
  • Android中应用多进程的整理总结

    2022-05-05 04:25:21
  • Spring Cloud Ribbon客户端详细介绍

    2023-11-27 21:36:22
  • SpringMVC上传文件的两种方法

    2023-11-17 14:27:20
  • springboot使用IDEA远程Debug

    2021-12-13 06:40:35
  • Java实现多线程断点下载

    2022-04-27 00:29:16
  • Maven实战之搭建Maven私服和镜像的方法(图文)

    2023-11-27 22:27:06
  • Apache Commons fileUpload文件上传多个示例分享

    2021-11-13 07:23:51
  • C#编程实现自定义热键的方法

    2023-12-05 23:57:18
  • C# SaveFileDialog与OpenFileDialog用法案例详解

    2023-01-28 05:44:42
  • 基于Java数组实现循环队列的两种方法小结

    2023-06-30 16:09:01
  • maven资源过滤打包后文件变大的处理方法

    2023-10-05 21:38:24
  • asp之家 软件编程 m.aspxhome.com