当前位置: 代码迷 >> Android >> 推荐几个适用的Android工具类
  详细解决方案

推荐几个适用的Android工具类

热度:28   发布时间:2016-04-27 23:30:06.0
推荐几个实用的Android工具类

在开发的过程中收集整理的,绝对超实用
1、CountDown.java 可以用来用作发验证码的倒计时用

public class CountDown implements Runnable {    private TextView textView;    private String countDownText;    private String defaultText;    private int remindSecond = 60;    private Handler handler;    private OnCountDownListener countDownListener;    public CountDown(TextView textView, String countDownText, int remindSecond) {        this.textView = textView;        this.countDownText = countDownText;        this.remindSecond = remindSecond;        defaultText = textView.getText().toString();        handler = new Handler();    }    /**     * 开始倒计时     */    public void start() {        handler.removeCallbacks(this);        textView.setClickable(false);        handler.post(this);        if (countDownListener != null){            countDownListener.onStart();        }    }    /**     * 结束     */    private void stop() {        handler.removeCallbacks(this);        textView.setClickable(true);        textView.setText(defaultText);        if (countDownListener != null){            countDownListener.onStop();        }    }    @Override    public void run() {        if (remindSecond > 0) {            textView.setClickable(false);            textView.setText(String.format(countDownText, remindSecond));            remindSecond--;            if (countDownListener != null){                countDownListener.onUpdate(remindSecond);            }            handler.postDelayed(this, 1000);        } else {            stop();        }    }    public void setCountDownListener(OnCountDownListener countDownListener) {        this.countDownListener = countDownListener;    }    /**     * 回调     */    public interface OnCountDownListener{        void onStart();        void onStop();        void onUpdate(int remindSecond);    }}

工具使用,只需在程序中调用简简单单的一行代码即可实现倒计时功能,当然也可以添加监听事件

 new CountDown(textView, "%s秒", 10).start();

效果
这里写图片描述

2、DoubleClickExit.java 双击退出程序

public class DoubleClickExitDetector {    public static final String DEFAULT_HINT_MESSAGE = "再按一次退出程序";    public static final int DEFAULT_SPACE_TIME = 2000;    private long spaceTime;    private long lastClickTime;    private String hintMessage;    private Context context;    public DoubleClickExitDetector(Context context) {        this(context,DEFAULT_HINT_MESSAGE,DEFAULT_SPACE_TIME);    }    public DoubleClickExitDetector(Context context, String hintMessage) {        this(context,hintMessage,DEFAULT_SPACE_TIME);    }    public DoubleClickExitDetector( Context context, String hintMessage,long space_time) {        this.context = context;        this.hintMessage = hintMessage;        this.spaceTime = space_time;    }    public boolean onClick(){        long currentTime = System.currentTimeMillis();        boolean result = (currentTime -lastClickTime)< spaceTime;        lastClickTime = currentTime;        if (!result){            Toast.makeText(context, hintMessage, Toast.LENGTH_SHORT).show();        }        return result;    }    public void setSpaceTime(long spaceTime) {        this.spaceTime = spaceTime;    }    public void setHintMessage(String hintMessage) {        this.h``````tMessage = hintMessage;    }}

一般在主Activity使用,如下

 DoubleClickExitDetector exitDetector = new DoubleClickExitDetector(this); @Override    public void onBackPressed() {        if (exitDetector.onClick()) {            super.onBackPressed();        }    }

简单的几行代码就搞定了双击退出功能

这里写图片描述

都是平时的积累,小的改变可以让代码更简洁

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案