最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android實現(xiàn)倒計時功能的方法

 更新時間:2016年08月24日 11:38:05   作者:Mihai  
這篇文章主要為大家詳細介紹了兩種android實現(xiàn)倒計時功能的方法,具有一定的實用性,感興趣的小伙伴們可以參考一下

前言  

在打開愛奇藝等app的歡迎界面的時候,右上角有一個倒計時的控件。倒計時完了以后進入主界面?,F(xiàn)在我們來實現(xiàn)這個功能。 

方法一:

利用java的類Timer,TimerTask還有android的Handler
界面welcome_activity.xml 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
    android:layout_height="match_parent">

 <TextView
  android:id="@+id/count_down"
  android:layout_width="60dp"
  android:layout_height="60dp"
  android:layout_alignParentRight="true"
  android:layout_alignParentTop="true"
  android:layout_marginRight="16dp"
  android:layout_marginTop="16dp"
  android:gravity="center"
  android:textSize="32sp"
  android:textColor="#50000000"
  android:background="@drawable/count_down_background"
  tools:text="2"
  />
</RelativeLayout>

 
package com.example.counttimer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.widget.TextView;

public class WelcomeActivity extends Activity {
 private final static int COUNT = 1;
 private TextView countDown;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 setContentView(R.layout.activity_welcome);
 initView();
 }
 //sehedule的第而個參數(shù)是第一次啟動延時的時間,第三個是每隔多長時間執(zhí)行一次。單位都是ms?! ?/因此這里是每一秒發(fā)送一次消息給handler更新UI。  //然后三秒后時間到了,在timer的第二個sehedule中進行跳轉(zhuǎn)到另外一個界面
 private void initView() {
 countDown = (TextView) findViewById(R.id.count_down);
 final Timer timer = new Timer();
 final long end = System.currentTimeMillis() + 1000*3;
 timer.schedule(new TimerTask() {
  @Override
  public void run() {
  handler.sendEmptyMessage(COUNT);
  
  }
 }, 0, 1000);
 //這里的schedule的第二個參數(shù)意義是到了這個時間盡快運行run里面的方法
 timer.schedule(new TimerTask() {
  
  @Override
  public void run() {
   Intent i = new Intent(WelcomeActivity.this, SecondActivity.class);
   i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
   startActivity(i);
   finish();
   timer.cancel();
  }
 }, new Date(end));
 
 }
 
 private Handler handler = new Handler(){
 int num = 2;
 public void handleMessage(android.os.Message msg) {
  
  switch (msg.what) {
  case COUNT:
  countDown.setText(String.valueOf(num));
  num--;
  break;

  default:
  break;
  }
 };
 };
 
} 

count_down_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
 <corners
 android:radius="8dp"/>

 <solid
 android:color="#1e000000"/>
</shape>

還有另外的一個空的activity就不貼出來了
效果如下:倒計時到0進入SecondActivity

 方法二 :

利用android封裝的類CountDownTimer。其實內(nèi)部也是用Handler實現(xiàn)的。其他都一樣。 

package com.example.counttimer;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.Window;
import android.widget.TextView;

public class WelcomeActivity extends Activity {
 private final static int COUNT = 1;
 private TextView countDown;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 setContentView(R.layout.activity_welcome);
 initView();
 }

 private void initView() {
 countDown = (TextView) findViewById(R.id.count_down);    //CountDownTimer構(gòu)造器的兩個參數(shù)分別是第一個參數(shù)表示總時間,第二個參數(shù)表示間隔時間?!   ?/意思就是每隔xxx會回調(diào)一次方法onTick,然后xxx之后會回調(diào)onFinish方法。
 CountDownTimer timer = new CountDownTimer(3200,1000) {
  int num = 2;
  @Override
  public void onTick(long millisUntilFinished) {
  countDown.setText(String.valueOf(num));
  num--;
  }
  
  @Override
  public void onFinish() {          //計時完成調(diào)用
   Intent i = new Intent(WelcomeActivity.this, SecondActivity.class);
   i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
   startActivity(i);
   finish();
  }
 };
 timer.start();
 }
 
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Kotlin中的惰性操作容器Sequence序列使用原理詳解

    Kotlin中的惰性操作容器Sequence序列使用原理詳解

    這篇文章主要為大家介紹了Kotlin中的惰性操作容器Sequence序列使用原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    這篇文章主要介紹了Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例,Android中自帶的JSONObject非常好用,需要的朋友可以參考下
    2016-03-03
  • Android實現(xiàn)手機定位的案例代碼

    Android實現(xiàn)手機定位的案例代碼

    今天小編就為大家分享一篇關(guān)于Android實現(xiàn)手機定位的案例代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Android Studio連接手機設(shè)備教程

    Android Studio連接手機設(shè)備教程

    這篇文章主要為大家詳細介紹了Android Studio連接手機設(shè)備教程,非常完整的連接步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android Listview多tab上滑懸浮效果

    Android Listview多tab上滑懸浮效果

    這篇文章主要為大家詳細介紹了Android Listview多tab上滑懸浮效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android編程實現(xiàn)GPS位置獲取的方法

    Android編程實現(xiàn)GPS位置獲取的方法

    這篇文章主要介紹了Android編程實現(xiàn)GPS位置獲取的方法,結(jié)合具體實例形式分析了Android針對GPS定位的常見操作技巧,需要的朋友可以參考下
    2017-07-07
  • Android WorkManager使用以及源碼分析

    Android WorkManager使用以及源碼分析

    WorkManager 是適合用于持久性工作的推薦解決方案。如果工作始終要通過應用重啟和系統(tǒng)重新啟動來調(diào)度,便是持久性的工作。本文主要介紹了Android WorkManager的使用,需要的可以參考一下
    2023-02-02
  • Android自定義個性化的Dialog示例

    Android自定義個性化的Dialog示例

    這篇文章主要介紹了Android自定義個性化的Dialog,結(jié)合實例形式分析了自定義Dialog的功能、樣式、布局等相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02
  • 雙緩沖技術(shù)實現(xiàn)Android 畫板應用

    雙緩沖技術(shù)實現(xiàn)Android 畫板應用

    這篇文章主要介紹了Android 采用雙緩存技術(shù)實現(xiàn)畫板應用的相關(guān)資料,并附有代碼實例,有需要的小伙伴可以參考下
    2016-07-07
  • Android 編程下字庫的使用及注意事項

    Android 編程下字庫的使用及注意事項

    在安卓操作系統(tǒng)下對于 TextView 字體的支持非常有限,默認情況下TextView的typeface屬性支持三種字體;接下來本文將會介紹Android 編程下字庫的使用及注意事項,感興趣的朋友可以了解下,希望對你有所幫助
    2013-01-01

最新評論

白河县| 亳州市| 葫芦岛市| 房产| 富阳市| 乐亭县| 天台县| 监利县| 塔城市| 沙雅县| 涿鹿县| 门头沟区| 滨海县| 榆树市| 南投县| 景泰县| 岳池县| 桂东县| 新建县| 双城市| 衡山县| 旌德县| 宁蒗| 锦屏县| 开封市| 浦东新区| 股票| 永登县| 徐汇区| 台州市| 巴里| 本溪市| 龙里县| 峨山| 山东省| 新竹县| 咸丰县| 大同县| 东光县| 海淀区| 正阳县|