Android开发欢迎页点击跳过倒计时进入主页


页面效果:

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

 

实现步骤:

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

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:background="@drawable/a">
 8  
 9     <RelativeLayout 10         android:layout_width="match_parent"
11         android:layout_height="wrap_content">
12  
13         <TextView 14             android:id="@+id/tv"
15             android:layout_width="wrap_content"
16             android:layout_height="wrap_content"
17             android:layout_alignParentRight="true"
18             android:layout_marginRight="20dp"
19             android:layout_marginTop="10dp"
20             android:textSize="20sp" />
21     </RelativeLayout>

 

 2、新建一个Activity用来关联我们的layout布局文件

 1 package com.cwj.test;  2  
 3 import android.content.Intent;  4 import android.os.Handler;  5 import android.support.v7.app.AppCompatActivity;  6 import android.os.Bundle;  7 import android.view.View;  8 import android.view.WindowManager;  9 import android.widget.TextView; 10  
11 import java.util.Timer; 12 import java.util.TimerTask; 13  
14 public class SpActivity extends AppCompatActivity implements View.OnClickListener { 15  
16     private int recLen = 5;//跳过倒计时提示5秒
17     private TextView tv; 18     Timer timer = new Timer(); //定义一个计时器 19     private Handler handler; 20     private Runnable runnable; 21  
22  @Override 23     protected void onCreate(Bundle savedInstanceState) { 24         super.onCreate(savedInstanceState); 25         //定义全屏参数
26         int flag= WindowManager.LayoutParams.FLAG_FULLSCREEN; 27         //设置当前窗体为全屏显示
28  getWindow().setFlags(flag, flag); 29  setContentView(R.layout.activity_sp); 30  initView(); 31         timer.schedule(task, 1000, 1000);//等待时间一秒,停顿时间一秒
32         /**
33  * 正常情况下不点击跳过 34          */
35         handler = new Handler(); 36         handler.postDelayed(runnable = new Runnable() { 37  @Override 38             public void run() { 39                 //从闪屏界面跳转到首界面
40                 Intent intent = new Intent(SpActivity.this, MainActivity.class); 41  startActivity(intent); 42  finish(); 43  } 44         }, 5000);//延迟5S后发送handler信息
45  
46  } 47  
48     private void initView() { 49         tv = findViewById(R.id.tv);//跳过
50         tv.setOnClickListener(this);//跳过监听
51  } 52  
53     TimerTask task = new TimerTask() { 54  @Override 55         public void run() { 56             runOnUiThread(new Runnable() { // UI thread
57  @Override 58                 public void run() { 59                     recLen--; 60                     tv.setText("跳过 " + recLen); 61                     if (recLen < 0) { 62  timer.cancel(); 63                         tv.setVisibility(View.GONE);//倒计时到0隐藏字体
64  } 65  } 66  }); 67  } 68  }; 69  
70     /**
71  * 点击跳过 72      */
73  @Override 74     public void onClick(View view) { 75         switch (view.getId()) { 76             case R.id.tv: 77                 //从闪屏界面跳转到首界面
78                 Intent intent = new Intent(SpActivity.this, MainActivity.class); 79  startActivity(intent); 80  finish(); 81                 if (runnable != null) { 82  handler.removeCallbacks(runnable); 83  } 84                 break; 85             default: 86                 break; 87  } 88     }

3、我们还可以对样式进行少许的修改,我们平常见到的欢迎界面是全屏的,所以我们在这里将标题栏隐藏掉

最简单的方法:

在AndroidManifest.xml文件中添加

1 android:theme="@android:style/Theme.NoTitleBar"

 

以下是系统自带的一些主题样式,我们也可以对其进行部分修改

android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式  android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏  android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏  android:theme="Theme.Light" 背景为白色  android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏  android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏  android:theme="Theme.Black" 背景黑色  android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏  android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏  android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景  android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏  android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏  android:theme="Translucent"  透明背景 android:theme="Theme.Translucent.NoTitleBar"  透明背景并无标题 android:theme="Theme.Translucent.NoTitleBar.Fullscreen"  透明背景并无标题,全屏 android:theme="Theme.Panel"   面板风格显示 android:theme="Theme.Light.Panel" 平板风格显示

 参考博客:

https://blog.csdn.net/juer2017/article/details/79069970


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM