首页 > 其他分享 >Handler与Message类,实现n秒后无操作自动消失功能

Handler与Message类,实现n秒后无操作自动消失功能

时间:2023-04-07 10:04:04浏览次数:31  
标签:MOBILE mtimeHandler Handler 自动 msg new Message public


实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后,无操作10秒自动隐藏。

所用知识:handler   message

//定义变量 


private EffectInVisiableHandler mtimeHandler; 

    private final int MOBILE_QUERY = 1; 


//程序启动时,初始化并发送消息 


mtimeHandler = new EffectInVisiableHandler(); 

Message msg = mtimeHandler.obtainMessage(MOBILE_QUERY); 

 mtimeHandler.sendMessageDelayed(msg, 10000);



//在某控件的onclick或ontouch事件中,重置message,即从新计时开始。

View.OnTouchListener touchCenterLayoutListener=new View.OnTouchListener() {            
            public boolean onTouch(View v, MotionEvent event) {    
                switch(event.getAction())
                {
                case MotionEvent.ACTION_DOWN:
                    resetTime();
                    break;
                case MotionEvent.ACTION_UP:
                    break;
                }
                return true;
            }
        };

private class EffectInVisiableHandler extends Handler
        {
            @Override
            public void handleMessage(Message msg)
            {
                switch(msg.what)
                {
                case MOBILE_QUERY:                   
                    midLayoutInVisable();                           //当10秒到达后,作相应的操作。
                    Log.i("","run**********************");
                    break;

                }
            }
        }

        public void resetTime() {
            mtimeHandler.removeMessages(MOBILE_QUERY);        
            Message msg = mtimeHandler.obtainMessage(MOBILE_QUERY);
            mtimeHandler.sendMessageDelayed(msg, 10000);            
        }




Android 启动画面 SplashScreen



import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class SplashActivity extends Activity {

	private final int SPLASH_DISPLAY_LENGHT = 5000; //延迟五秒 
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.splash);
		new Handler().postDelayed(new Runnable() {
			// 为了减少代码使用匿名Handler创建一个延时的调用
			public void run() {
				Intent i = new Intent(SplashActivity.this, MainActivity.class);
				// 通过Intent打开最终真正的主界面Main这个Activity
				SplashActivity.this.startActivity(i); // 启动Main界面
				SplashActivity.this.finish(); // 关闭自己这个开场屏
			}
		}, SPLASH_DISPLAY_LENGHT);
	}
}

标签:MOBILE,mtimeHandler,Handler,自动,msg,new,Message,public
From: https://blog.51cto.com/u_5454003/6174596

相关文章

  • SpringBoot2核心技术篇(自动配置原理入门[一])
    1.SpringBoot特点1.1依赖管理父项目做依赖管理<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.11</version></parent>几乎声明了所有开发中......
  • 将gpt3集成到你的浏览器! chrome自动改bug插件《懒得改bug》
       一、下载地址 SOS:不要在公司内网使用,代码泄露风险警告!  二、食用方式1、安装crx插件,无法使用请参考 google浏览器安装不了插件怎么办谷歌浏览器安装插件不能用是怎么回事-电脑技术吧(tpbz008.cn);2、挂梯子,最好是欧洲节点;3、启用插件,选中要修改bug的脚本;4......
  • WinDbg调试Dump转储文件及程序崩溃时自动创建转储文件的方式
    通过WinDbg分析转储文件在调试过程中回遇到一些很奇怪的问题,编译器调试无法正常定位问题,所以需要WinDbg,这篇博客是对照多篇文档的简易的入门整理一、必备知识1.1、下载WinDbg微软文档下载Windows调试工具-WinDbg-Windowsdrivers|MicrosoftLearnWinDbgPreview是......
  • 自动化测试
    【制定一个合适的目标对于自动化测试的成功实施至关重要,目标越具体,自动化测试越有可能得到好的评价并取得成功】【管理层支持对于自动化测试的成功至关重要,但是有些管理层意识不到自动化能带来什么好处。一是因为他们没有好好的亲自调查,二是做自动化测试的人没有积极的沟通】自......
  • 运维Ansible自动化工具概述
    运维的工作内容安装系统:pxe、kickstart、cobbler、imagetemplate安装应用、配置应用、启动应用(服务):puppet、saltstack、chef发布程序:puppet、saltstack、chef监控(服务器、系统、应用、程序):zabbix程序发布灰度发布金丝雀发布ansible解决的问题:批量安装应用、配置应用、启动应用批量......
  • 【wordpress】wordpress插件之自动采集发布工具
    前言安装好wordpress后,就要开始发布文章,由于之前的文章分散在各个平台,想要一个个拷贝过去,的确费时费力,所以想要一劳永逸的解决这个问题,就要用到今天介绍的这个采集工具插件安装搜索:FatRatCoolect然后点击现在安装如果因为网速慢下载不下来,可以直接到官网下载然后上传:cd/wp-con......
  • vue3中路由错误自动跳转404页面 路由表写法
    定义路由表import{createRouter,createWebHashHistory}from"vue-router";constroutes=[ { path:"/", name:"home", component:Home, },//... { path:"/404", name:"404", component:()=&......
  • js中通过数据库查询省,后自动带出市显示的问题
    //注册地址varprovince=SQL("selectprovincefromprojectwherecode='"+code+"'andisdelete=0orderbyindatelimit1");$("#field_2c923daf70a540290170aa8ad7a102ff").val(province);varcity=SQL("selectcityfrom......
  • Linux系统利用Python操作word和excel进行办公自动化
    依赖Python3Python-docx参考文档pipinstallPython-docxopenpyxl参考文档pipinstallopenpyxl读取Excel文件importopenpyxl#加载excel文件workbook=openpyxl.load_workbook('未命名1.xlsx',read_only=False)#获取指定sheetsheet=workbook.get_shee......
  • 使用百度地图实现圆形,矩形自动生成路线点
    纯JS代码<!DOCTYPEhtml><html><head><metaname="viewport"content="initial-scale=1.0,user-scalable=no"/><metahttp-equiv="Content-Type"content="text/html;charset=utf-......