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

首頁 > 系統 > Android > 正文

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

2019-12-12 01:10:29
字體:
來源:轉載
供稿:網友

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

下載整個項目代碼。 

 

3秒過后進入下一界面:

代碼:

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(); }}

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平山县| 乾安县| 阿巴嘎旗| 灵寿县| 南充市| 阜阳市| 鱼台县| 交口县| 南通市| 永宁县| 远安县| 康定县| 汉寿县| 秭归县| 屏边| 化州市| 松江区| 宾川县| 庆安县| 封开县| 松潘县| 报价| 资兴市| 浦北县| 巴青县| 环江| 宝坻区| 正定县| 若尔盖县| 鹤庆县| 长兴县| 新疆| 永新县| 治县。| 卢湾区| 车险| 溧水县| 社会| 高雄县| 沙田区| 卓尼县|