自定义android程序一段时间无操作后的功能
private Handler handler = new Handler();
private long time=1000*60*5;
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
handler.removeCallbacks(runnable);
break;
case MotionEvent.ACTION_UP:
startAD();
break;
}
return super.onTouchEvent(event);
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
//to do 这里写代码片
}
};
public void startAD() {
handler.removeCallbacks(runnable);
handler.postDelayed(runnable, time);
}
连点几次进入特殊模式
public void onDisplaySettingButton() {
if (mHits == null) {
mHits = new long[4]; //4次
}
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);//把从第二位至最后一位之间的数字复制到第一位至倒数第一位
mHits[mHits.length - 1] = SystemClock.uptimeMillis();//记录一个时间
if (SystemClock.uptimeMillis() - mHits[0] <= 1000) {//一秒内连续点击。
mHits = null; //这里说明一下,我们在进来以后需要还原状态,否则如果点击过快,都会不断进来触发该效果。重新开始计数即可
//这里是你具体的操作
}
}