鼠标双击退出应用程序简单实现

article/2025/10/15 6:49:37

文章目录

      • Android 简单模拟鼠标双击退出应用程序,利用Toast提示“再点一次退出”
        • 使用Toast
        • 鼠标单击提示信息
        • 鼠标双击实现退出系统

Android 简单模拟鼠标双击退出应用程序,利用Toast提示“再点一次退出”

使用Toast

// 参数:当前上下文环境,提示文本,显示时长,最后利用show()将提示信息显示在UI
Toast.makeText(context,text,duration).show();

鼠标单击提示信息

XML布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><Buttonandroid:id="@+id/btn_click"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="单击出现提示信息"/>
</LinearLayout>

MainActivity文件

package com.example.my_toast;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.util.Log;
import android.widget.Button;import java.util.Date;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button = findViewById(R.id.btn_click);//添加监听事件,当点击按钮时,提示“单击一次鼠标左键”button.setOnClickListener((view) - > {Toast.makeText(this,"单击一次鼠标左键",Toast.LENGTH_SHORT).show();});}
}

鼠标双击实现退出系统

实现原理:设置监听事件,当第一次单击鼠标时,显示提示信息并且调用“鼠标双击监听”函数,监听第二次点击按钮的时间与第一次的时间间隔是否小于两秒,小于则退出应用程序,否则将第二次点击鼠标的时间当成上一次点击鼠标的时间,用于下一次判断,同时提示Toast信息

XML布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="用户名:"/><EditTextandroid:id="@+id/edit_username"android:layout_width="match_parent"android:layout_height="wrap_content"/><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="密码:"/><EditTextandroid:id="@+id/edit_password"android:layout_width="match_parent"android:layout_height="wrap_content"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:layout_marginLeft="95dp"android:id="@+id/button_btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登录"/><Buttonandroid:id="@+id/button_btn"android:layout_marginLeft="50dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="退出"/></LinearLayout></LinearLayout>

布局文件效果图:
在这里插入图片描述

MainActivity文件

package com.example.my_toast;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import java.util.Date;public class MainActivity extends AppCompatActivity {private static long lastTime = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn = findViewById(R.id.button_btn);Button btn1 = findViewById(R.id.button_btn1);EditText username = findViewById(R.id.edit_username);EditText password = findViewById(R.id.edit_password);btn1.setOnClickListener(view -> {if(!(username.equals("20200") && password.equals("20200"))) {Toast.makeText(this,"用户名或密码不正确",Toast.LENGTH_SHORT).show();}});btn.setOnClickListener(view -> {//第一次点击,发出提示,并且调用OnBackPressed方法进行今天第二次点击Toast.makeText(this, "再点一次退出系统", Toast.LENGTH_SHORT).show();OnBackPressed();});}public void OnBackPressed() {boolean flag = false;if (lastTime == 0) {
//            第一次点击时,记录第一次点击的时间lastTime = new Date().getTime();} else {
//            第二次点击时,记录第二次点击的时间long secondTime = new Date().getTime();
//            两次点击时间间隔不能大于2sif (secondTime - lastTime <= 2000) {finish();} else {lastTime = secondTime;Toast.makeText(this, "再点一次退出系统", Toast.LENGTH_SHORT).show();}}}
}

http://chatgpt.dhexx.cn/article/74E1IdqE.shtml

相关文章

如何用JavaScript完美地区分双击和单击事件

通过一个悬浮球交互功能的案例来阐述问题&#xff0c;以及解决办法。 实现效果 类似微信里的悬浮窗效果&#xff0c;苹果手机的悬浮球功能效果 1.可以点击拖动&#xff0c;然后吸附在窗口边缘2.点击悬浮球&#xff0c;可以跳转界面&#xff0c;或者更改悬浮球的形态准备 1.移…

单机显示、双击隐藏;事件绑定、单击div、双击div、删除事件;元素显示、隐藏、交替; 向上收缩、向下展开、交替;淡入淡出

单机显示、双击隐藏 <style>div {width: 500px;height: 200px;background-color: green;display: none;} </style> <body><button id"btn">单击显示&#xff0c;双击隐藏</button><br><br><div> </div&…

干货分享 | UE游戏鼠标双击判定

UE虚幻引擎对于游戏开发者来说都不陌生&#xff0c;市面上有47%主机游戏使用虚幻引擎开发游戏。作为是一款游戏的核心动力&#xff0c;它的功能十分完善&#xff0c;囊括了场景制作、灯光渲染、动作镜头、粒子特效、材质蓝图等。本文介绍了虚幻引擎游戏开发过程中游戏鼠标双击判…

鼠标单击变双击问题

解决此问题可以从硬件和软件两方面思考角度入手:我们先把鼠标插在别人的机器上使用,如果没发现问题可能是软件问题,若发现同样的问题则可能是硬件方面的问题。 软件方面:(1)病毒导致将杀毒软件病毒库更新至最新版,全盘扫描。 (2)鼠标属性设置不当我们打开控制面板-&…

鼠标双击事件

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) java中没有给出鼠标双击事件&#xff0c;虽然可以通过事件源e.getClickCount()2来判断鼠标点击次数&#xff0c;但是执行双击事件的同时也执行了单击事件&#x…

关于双击与单击事件冲突解决方案

有时候会要需求要求&#xff0c;比如附件&#xff0c;单击查看详情&#xff0c;双击下载文件时遇到的双击单击事件同时绑定一个节点。 比如单击click&#xff0c;dlbclick同时绑定时&#xff0c;双击会同时触发&#xff0c;而且click会触发两次。单用click来处理双击单击同时存…

TRUE PARTNER迎来戴维斯双击,资产规模业绩双增长

配图来自Canva可画 2020年可谓是黑天鹅乱舞的一年&#xff0c;新冠疫情肆虐全球&#xff1b;原油危机引发的资本市场动荡&#xff1b;地缘政治冲突以及美国大选&#xff0c;市场处于时不时来一波的上蹿下跳的状态当中。 在资本市场波动加剧的大环境中&#xff0c;有这样一家奇…

慧择业务布局成效明显,戴维斯双击可期

“没有一个冬天不会过去&#xff0c;没有一个春天不会到来”。 过去的一年&#xff0c;美股市场波折不断&#xff0c;尤其是2020年3月份的4次熔断&#xff0c;让股神巴菲特都惊呼“活久见”。 过去的一年&#xff0c;美股市场惊喜不断&#xff0c;道琼斯指数更是在2020年11月创…

流动性持续改善,佳源国际迎来“戴维斯双击”?

随着上半年密集的救市政策出台&#xff0c;房地产行业迎来触底回暖。 5月&#xff0c;央行以不低于市场报价利率20个基点调整首套房贷款利率下限&#xff0c;这也让当前金融环境在近几年处于较为宽松的阶段。 据克而瑞研究中心观点&#xff0c;因冲刺年中业绩&#xff0c;房企…

湖人詹姆斯 戴维斯 拉塞尔三人合体就赢!

湖人主力詹姆斯&#xff08;LeBron James&#xff09;球星成为NBA新历史得分王后&#xff0c;连3战因伤缺席&#xff0c;今天主场对抗鹈鹕终于回归&#xff0c;和戴维斯&#xff08;Anthony Davis&#xff09;、拉塞尔&#xff08;DAngelo Russell&#xff09;三人连线&#xf…

九龙证券|游戏板块或继续迎来业绩估值“戴维斯双击”

机构指出&#xff0c;AIGC技术及产品现在已在游戏职业有部分使用&#xff0c;中长期来看&#xff0c;对游戏制作的降本增效、内容质量进步有较强的促进作用&#xff1b;当前游戏版号常态化发放&#xff0c;政策端不确定性降低&#xff0c;预计产品周期是成绩的要害驱动&#xf…

戴维斯双击背后的故事 - 读《戴维斯王朝》

一、序言 作为一个对炒股知识孤陋寡闻的新手&#xff0c;我最近才听说「戴维斯双击」&#xff0c;于是买了《戴维斯王朝》了解了一下戴维斯本人以及他的成功故事。看完书后&#xff0c;我感觉戴维斯本人还真算是一段传奇经历。 戴维斯的投资回报率和巴菲特对等&#xff0c;他投…

科普一下,什么是戴维斯双击和戴维斯双杀?

创业板受到多重利空压制而大跌&#xff0c;上证也受到拖累&#xff0c;只有上证50小幅翻红。创业板依然是下跌趋势&#xff0c;不要瞎猜底部&#xff0c;更不要轻易抄底&#xff0c;要以均线为准&#xff0c;反弹站上5日线才有短线机会。主板部分板块仍然是处于上升趋势&#x…

股票策略 —— 戴维斯双击

1、策略概述 这里的戴维斯是美国的一个投资大师&#xff0c;38 岁才开始投资生涯&#xff0c;初始资金 5 万美元&#xff0c;最终财富达到 9 亿美元&#xff0c;并登上福布斯400 富豪榜。他投资策略中的选股的要点是良好的管理、持续增长及低估值。 后来基于这两个原则&#x…

戴维斯双击策略的实现与验证

戴维斯双击策略的实现与验证 戴维斯效应简述&#xff1a; 戴维斯双击和戴维斯双杀&#xff1a; 戴维斯效应&#xff0c;就是有关市场预期与上市公司价格波动之间的双倍数效应。也就是说当一个公司利润持续增长使得每股收益提高&#xff0c;同时市场给予的估值也提高&#xf…

如何在Github上建立自己的个人博客网站详细教程

概述 之前闲着没事,就利用Github建了一个个人博客网站,效果还不错,今天就来分享一下. 建立自己个人博客网站的好处: 1.面试装逼,这个不必多说… 2.把平时积累的知识和项目记录下来,方便日后查看使用 3.不受其他博客平台的限制 准备工作 开始之前,先大致介绍一下用到的技术和…

怎么创建自己的博客网站

怎么创建自己的博客网站最简单的方法还是使用wordpress系统来搭建&#xff0c;使用者不需要掌握很多的专业知识就能独立操作。 首先&#xff0c;在wordpress官网上&#xff08;https://wordpress.org/&#xff09;下载wordpress-5.1.zip这个压缩包。 其次&#xff0c;登录空间…

新手如何自己搭建一个属于自己的博客网站?

网站开发技术新手建立一个属于自己的个人博客站点&#xff0c;其实是挺容易。现在各类企业、博客、商城类的网站框架比比皆是&#xff0c;也都有对应的操作文档&#xff0c;仔细看一遍文档&#xff0c;操作起来也是非常简单的。那么下面 德阳SEO优化就带着各位准站长操作一下如…

十分钟教你搭建个人博客

估计很多小伙伴都想要一个专属于自己的个人博客&#xff0c;拥有自己的网页&#xff0c;设计好看的背景&#xff0c;插画&#xff0c;图片等。下面我们来一起实践一下吧。 我的博客&#xff1a;http://www.sweetdumpling.cn/ 文章目录 1.准备需要&#xff08;该操作针对的是阿里…

建立自己的博客(记录-不推荐)

环境安装&#xff1a; w10系统安装 第一步&#xff1a;安装git Git 官网: https://git-scm.com/ 第二步&#xff1a;安装Node.js Node.js官网&#xff1a;https://nodejs.org/zh-cn/ 使用cmd检测&#xff1a; node -v 第三步&#xff1a;安装Hexo Hexo官网&#xff1a;htt…