两次点击退出

在项目中,其实两次点击退出的功能还是比较常用的,自己找了一些相关资料,自己也写了一个demo运行了一下,效果还不错,记个笔记,免得下次再找。


开发步骤:

① 返回的监听

② 保存两次点击的时间值 

③ 时间间隔小于等于2000

④  在主页面进行finish


// 回调:由开发者重写的方法 但是 由系统去调用。 以on开头,注意:调用条件

// keyCode 键的id

       private long[] twotimes = new long[2];

      @Override

      public boolean onKeyDown(int keyCode, KeyEvent event) {

       // return true 处理事件 消费事件 不要系统处理

      if (keyCode == KeyEvent.KEYCODE_BACK) {

      // 往前移动时间

       twotimes[0] = twotimes[1];

       twotimes[1] = System.currentTimeMillis();

       Log.i("wzx", Arrays.toString(twotimes));

       // ① 返回的监听

       // ② 保存两次点击的时间值

      // ③ 时间间隔小于等于2000

      if (twotimes[1] - twotimes[0] <= 2000) {

      // ④  在主页面进行finish

       finish();

      } else {

      Toast.makeText(getBaseContext(), "点击两次退出"0).show();

   }

    return true;

 }

   return super.onKeyDown(keyCode, event);

 }

 

SystemClock.uptimeMillis()

开机时间为0

System.currentMillions

以格林尼治时间准备开始

 

long[] arrays = new long[] { 1, 2, 3, 4, 5, 6 };

public void arraycopy(View view) {

 

Log.i("wzx", Arrays.toString(arrays));

// System.arraycopy(源数组, 源数组开始复制的位置, 目标数组, 目标数组的开始复制位置, 个数);

System.arraycopy(arrays, 0, arrays, 3, 3);

Log.i("wzx""复制后" + Arrays.toString(arrays));

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Python实现方法,可以记录鼠标点击位置,计算两次点击的时间间隔,并将记录保存到文件中: ```python import time import os import sys import tkinter as tk class MouseRecorder: def __init__(self): self.positions = [] # 存储鼠标点击位置 self.times = [] # 存储鼠标点击时间 self.last_click_time = None # 上次点击时间 # 创建一个隐藏的窗口用于监听鼠标事件 self.root = tk.Tk() self.root.withdraw() self.root.bind('<Button-1>', self.record_click) def record_click(self, event): # 记录鼠标点击位置和时间 self.positions.append((event.x, event.y)) self.times.append(time.time()) # 计算时间间隔 if self.last_click_time is not None: delta_time = self.times[-1] - self.last_click_time print(f'Time interval: {delta_time:.2f}s') self.last_click_time = self.times[-1] def save_recordings(self, filename): # 将记录保存到文件中 with open(filename, 'w') as f: for i in range(len(self.positions)): f.write(f'{self.positions[i][0]},{self.positions[i][1]},{self.times[i]:.6f}\n') def play_recordings(self, filename, speed=1): # 读取记录并回放鼠标点击位置 with open(filename, 'r') as f: lines = f.readlines() for line in lines: x, y, t = line.strip().split(',') x, y, t = int(x), int(y), float(t) self.root.event_generate('<Button-1>', x=x, y=y) time.sleep((t - self.times[0]) / speed) if __name__ == '__main__': recorder = MouseRecorder() print('左键单击记录鼠标点击位置,右键单击保存并退出') while True: try: recorder.root.update() except tk.TclError: break if recorder.root.mouse_click: event_type, event_button = recorder.root.mouse_click if event_type == 'button-3': filename = input('请输入保存文件名: ') recorder.save_recordings(filename) sys.exit(0) filename = input('请输入回放文件名: ') if not os.path.exists(filename): print('文件不存在') sys.exit(1) speed = float(input('请输入回放速度(1为正常速度): ')) recorder.play_recordings(filename, speed) ``` 使用方法: 1. 运行上述代码,弹出一个空白窗口; 2. 在空白窗口上左键单击,程序记录鼠标点击位置和时间,并在控制台上打印时间间隔; 3. 在空白窗口上右键单击,程序要求输入保存文件名,并将记录保存到文件中; 4. 输入保存的文件名后程序退出; 5. 再次运行程序,输入保存的文件名,程序读取记录并回放鼠标点击位置。可以输入回放速度,1为正常速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值