国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現3秒鐘自動關閉界面

2019-10-22 18:15:24
字體:
來源:轉載
供稿:網友

 功能如標題所示,簡單的android的3秒倒計時關閉界面或點擊關閉,如果3秒內點擊就不會再開啟自動關閉。看圖說話,代碼簡單,注釋清晰,一目了然:

下載整個項目代碼。 

Android,自動關閉,倒計時,關閉界面

Android,自動關閉,倒計時,關閉界面

Android,自動關閉,倒計時,關閉界面

3秒過后進入下一界面:

Android,自動關閉,倒計時,關閉界面

代碼:

PaySuccessActivity.java

import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;/** * 支付成功頁面 *http://download.csdn.net/user/qq_29614465 */public class PaySuccessActivity extends Activity { private ImageView im_back; private TextView tv_title; private TextView tv_paysuccess_time;//開始是3秒 private ImageView im_paysuccess;//對號 private Button b; private Boolean abc=false; @Override protected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.paysuccess); im_back= (ImageView) findViewById(R.id.im_back); tv_title= (TextView) findViewById(R.id.tv_title); tv_title.setText("支付成功"); tv_paysuccess_time=(TextView) findViewById(R.id.paysuccess_time); im_paysuccess= (ImageView) findViewById(R.id.paysuccess_im); im_paysuccess.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //點擊成功后跳轉到當前訂單的界面 Intent intent = new Intent(PaySuccessActivity.this, AfterPayActivity.class); startActivity(intent); finish(); abc=true; } }); CountDownTextViewHelper helper_pay=new CountDownTextViewHelper(tv_paysuccess_time, "0", 3, 1); helper_pay.setOnFinishListener(new CountDownTextViewHelper.OnFinishListener() { @Override public void finish() {// TODO Auto-generated method stub if (abc==false) {  Intent intent2 = new Intent(PaySuccessActivity.this, AfterPayActivity.class);  startActivity(intent2); } } }); helper_pay.start(); }}

AfterPayActivity.java

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * 3秒關閉后進入的界面 *http://download.csdn.net/user/qq_29614465 */public class AfterPayActivity extends Activity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.after_pay); btn=(Button) findViewById(R.id.button_close); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub finish(); } }); }}

CountDownTextViewHelper.java

import android.graphics.Color;import android.os.CountDownTimer;import android.util.Log;import android.widget.TextView;/** * 倒計時TextView幫助類 * http://download.csdn.net/user/qq_29614465 */public class CountDownTextViewHelper { // 倒計時 private CountDownTimer countDownTimer; // 倒計時結束的回調接口 private OnFinishListener listener; private TextView textView; /** * * @param textView * 需要顯示倒計時的TextView * @param defaultString * 默認顯示的字符串 * @param max * 需要進行倒計時的最大值,單位是秒 * @param interval * 倒計時的間隔,單位是秒 */ public CountDownTextViewHelper(final TextView textView,   final String defaultString, int max, int interval) { this.textView = textView; // 由于CountDownTimer并不是準確計時,在onTick方法調用的時候,time會有1-10ms左右的誤差,這會導致最后一秒不會調用onTick() // 因此,設置間隔的時候,默認減去了10ms,從而減去誤差。 // 經過以上的微調,最后一秒的顯示時間會由于10ms延遲的積累,導致顯示時間比1s長max*10ms的時間,其他時間的顯示正常,總時間正常 countDownTimer = new CountDownTimer(max * 1000, interval * 1000 - 10) { @Override public void onTick(long time) { // 第一次調用會有1-10ms的誤差,因此需要+15ms,防止第一個數不顯示,第二個數顯示2s textView.setText(((time + 15) / 1000)  + ""); textView.setTextColor(Color.BLACK); Log.d("CountDownTextViewHelper", "time = " + (time) + " text = "  + ((time + 15) / 1000)); } @Override public void onFinish() { textView.setEnabled(true); textView.setText(defaultString); if (listener != null) {  listener.finish(); } } }; } /** * 開始 倒計時 */ public void start() { textView.setEnabled(false); countDownTimer.start(); } /** * 設置倒計時結束的監聽器 * @param listener */ public void setOnFinishListener(OnFinishListener listener) { this.listener = listener; } /** * 倒計時結束的回調接口 */ public interface OnFinishListener { public void finish(); }}

到這里就是全部的關鍵代碼了,布局文件當然由你自己處理了,如果想下載整個項目代碼,可到我的資源頁下載 (下載頁里的代碼稍微舊一點,但保證都可以用。新一點的代碼以博客里的為準。)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 潞西市| 长兴县| 介休市| 鹤岗市| 巍山| 高邑县| 安西县| 远安县| 江津市| 木兰县| 子长县| 东平县| 武山县| 咸宁市| 宁夏| 石狮市| 钟山县| 阿坝县| 北辰区| 康定县| 沙坪坝区| 集安市| 江山市| 霍州市| 汤原县| 博野县| 海原县| 准格尔旗| 宜君县| 临桂县| 常山县| 白河县| 金门县| 靖远县| 齐齐哈尔市| 咸宁市| 册亨县| 长白| 隆回县| 平乐县|