没点击跳过自然进入主页,点击跳过之后立即进入主页

   

1.欢迎页布局activity_sp.xml放一张背景图(图片随你便啦)再放一个盛放倒计时的TextView

 

<?xml version="1.0" encoding="utf-8"?>

<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"

android:background="@drawable/a">

<RelativeLayout

android:layout_width="match_parent"

android:layout_height="wrap_content">

<TextView

android:id="@+id/tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_marginRight="20dp"

android:layout_marginTop="10dp"

android:textSize="20sp" />

</RelativeLayout>

</LinearLayout>

2.主要java代码

 

package com.cwj.test;

import android.content.Intent;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.view.WindowManager;

import android.widget.TextView;

import java.util.Timer;

import java.util.TimerTask;

public class SpActivity extends AppCompatActivity implements View.OnClickListener {

private int recLen = 5;//跳过倒计时提示5秒

private TextView tv;

Timer timer = new Timer();

private Handler handler;

private Runnable runnable;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//定义全屏参数

int flag= WindowManager.LayoutParams.FLAG_FULLSCREEN;

//设置当前窗体为全屏显示

getWindow().setFlags(flag, flag);

setContentView(R.layout.activity_sp);

initView();

timer.schedule(task, 1000, 1000);//等待时间一秒,停顿时间一秒

/**

* 正常情况下不点击跳过

*/

handler = new Handler();

handler.postDelayed(runnable = new Runnable() {

@Override

public void run() {

//从闪屏界面跳转到首界面

Intent intent = new Intent(SpActivity.this, MainActivity.class);

startActivity(intent);

finish();

}

}, 5000);//延迟5S后发送handler信息

}

private void initView() {

tv = findViewById(R.id.tv);//跳过

tv.setOnClickListener(this);//跳过监听

}

TimerTask task = new TimerTask() {

@Override

public void run() {

runOnUiThread(new Runnable() { // UI thread

@Override

public void run() {

recLen--;

tv.setText("跳过 " + recLen);

if (recLen < 0) {

timer.cancel();

tv.setVisibility(View.GONE);//倒计时到0隐藏字体

}

}

});

}

};

/**

* 点击跳过

*/

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.tv:

//从闪屏界面跳转到首界面

Intent intent = new Intent(SpActivity.this, MainActivity.class);

startActivity(intent);

finish();

if (runnable != null) {

handler.removeCallbacks(runnable);

}

break;

default:

break;

}

}

}

这里style里改了样式,没有标题栏Theme.AppCompat.Light.NoActionBar

 

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>

<item name="colorPrimaryDark">@color/colorPrimaryDark</item>

<item name="colorAccent">@color/colorAccent</item>

</style>

Android开发欢迎页点击跳过倒计时进入主页的更多相关文章

  1. 在vue中无论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去

    在vue中如论使用router-link 还是 @click事件,发现都没法从列表页点击跳转到内容页去,以前都是可以的,想着唯一不同的场景就是因为运用了scroll组件(https://ustbhua ...

  2. Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView

    目标需求 实现一张小图片,被点击后变成一个在整个屏幕上显示的大图片.类似于微信朋友圈的图片. 实现流程 1.Fresco基本初始化 2.下载并且导入ZoomableDraweeView 它是实现大图的 ...

  3. wx小程序-列表详细页点击跳转!

    1.因为template 只是单纯的占位符,所以事件要写在外层view上面 2.通过自定义属性来判断 跳转的是那篇文章  自定义属性    (data-自定义名称 ) 3. 执行 onpostTap方 ...

  4. Android碎笔录3——点击跳转

    只要是view都能设置点击事件,不必要非得是Button. 要想实现跳转得三步走: 第一步.绑定 每个Layout都有一个一个java文件跟它绑定,这个Layout相关的代码都写在这个java文件里 ...

  5. Android开发_关于点击事件

    为了防止用户或者测试MM疯狂的点击某个button: 创建一个工具类 public class Tools { private static long lastClickTime; public st ...

  6. Android 开发 防止按键连续点击

    前言 按键防止连续点击是任何一个项目都要考虑的功能.下面我们将介绍几种防止按键连续点击的方法 用工具类实现 /** *@content:按键延时工具类,用于防止按键连点 *@time:2019-5-1 ...

  7. <转>Android开发使输入框点击弹出日期选择对话框的方法

    非常简单直接上代码: 转自:http://blog.sina.com.cn/s/blog_4ac1b5f60102vgnx.html final EditText et1=(EditText)find ...

  8. 刷到血赚!字节跳动内部出品:722页Android开发《360°全方面性能调优》学习手册首次外放,附项目实战!

    前言 我们平时在使用软件的过程中是不是遇到过这样的情况:"这个 app 怎么还没下载完!"."太卡了吧!"."图片怎么还没加载出来!".&q ...

  9. .Net程序猿玩转Android开发---(11)页面跳转

    在不论什么程序开发中,都会遇到页面之间跳转的情况,Android开发也不例外.这一节,我们来认识下Android项目中如何进行页面跳转.页面跳转分为有參数和无參数页面跳转,已经接受还有一个页面的返回值 ...

随机推荐

  1. 【ASP.NET Core快速入门】(十六)MVC开发:DbContextSeed初始化

    前言 由于我们现在每次EF实体模型变化的时候每次都是手动更改,我们想通过代码的方式让他自动更新,或者程序启动的时候添加一些数据进去 DbContextSeed初始化 首先,在Data文件夹下添加一个A ...

  2. [工具向]__androidstudio签名打包apk及配置自动签名

    前言 好几天了,没怎么更新了,最近迷上了抓妖,有些懈怠了,这两天在看android的一些东西,java暂时就先放了放,昨天终于是完成了一个小阶段的任务,今天来对这两天的东西进行一下总结. *** 因为 ...

  3. angr初使用(1)

    angr是早在几年前就出来了的一款很好用的工具,如今也出了docker,所以想直接安个docker来跑一跑. docker pull angr/angr .下载下来以后,进入docker ,这时并没有 ...

  4. ASP.NET MVC5多语言切换快速实现方案

    功能 实现动态切换语言,Demo做了三种语言库可以切换,包括资源文件的定义,实体对象属性设置,后台代码Controller,IAuthorizationFilter,HtmlHelper的实现,做法比 ...

  5. 基于SpringMVC+Spring+MyBatis实现秒杀系统【业务逻辑】

    前言 该篇主要实现秒杀业务层,秒杀业务逻辑里主要包括暴露秒杀接口地址.实现秒杀业务逻辑.同时声明了三个业务类:Exposer.SeckillExecution.SeckillResult. Expos ...

  6. 改善 C# 的语言习惯(一) - 使用属性而不是可访问的数据成员(整理中)

    改善 C# 的语言习惯(一) - 使用属性而不是可访问的数据成员 序 为什么我们的程序运行得棒棒的,还要改呢?Why? 答:我们要让程序运行得更快,执行的效率更高,代码的可读性更强,维护的成本更低.. ...

  7. 杭电ACM2016--数据的交换输出

    数据的交换输出 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  8. C# 操作Excel图形——绘制、读取、隐藏、删除图形

    简介 本篇文章将介绍C# 如何处理Excel图形相关的问题,包括以下内容要点: 1.绘制图形 1.1 绘制图形并添加文本到图形 1.2 添加图片到图形 1.3 设置图形阴影效果 1.4 设置图形透明度 ...

  9. .NET MVC 简单的插件式开发

    插件式开发的优势 1.提高软件的复用度 2.提高软件开发的并行性 3.缩短软件的研发周期.节约研发成本,带给程序开发人员更多的灵活性,产品在软件发布以后还可以添加新的插件和完善已有的功能. 4.方便软 ...

  10. Design Mobile实现国际化

    参考:https://mobile.ant.design/components/locale-provider-cn/