android button实现长按连续点击效果

本文介绍如何在Android应用中为Button组件实现长按连续点击效果,通过设置OnTouchListener并启动线程,在长按时以固定间隔发送点击动作。
摘要由CSDN通过智能技术生成

 

项目遇到需要实现按键点击同时,如果按住也能实现连续音量加的效果

本办法是通过按下标志开启线程固定间隔时间发送动作

重写setOnTouchListener事件

 

btn_bolumeup.setOnTouchListener(new OnTouchListener(){
			@Override
			public boolean onTouch(View v, MotionEvent event)
			{
				Log.d("yj.chen","onTouch");
			       if(event.getAction() == MotionEvent.ACTION_DOWN) {
			    	   Log.d("yj.chen","ACTION_DOWN");
			    	   longClicked = true;
			    	   btn_bolumeup.setBackgroundResource (R.drawable.haier_pop_btn_nor_m);//
			    	   Thread t = new Thread(){
			    		   @Override
			    		   public void run(){
			    			   super.run();
			    			   while(longClicked)
			    			   {
			    				   sendcode = 24;
			    				   sendkeyenvet();
			    				   try{
			    					   Thread.sleep(250);
			    				   }catch(InterruptedException e){
			    					   e.printStackTrace();
			    				   }
			    
### 回答1: Android按键广播是指在Android系统中,当用户在设备上按下按键时,系统会通过广播的形式发送一个按键事件给应用程序。应用程序可以通过注册接收器来监听这些按键广播,从而进行相应的处理。 Android提供了一个名为KeyEvent的类来表示按键事件。该类包含了按下按键的键码和键标志等信息。通过监听按键广播,应用程序可以根据具体的按键事件做出相应的操作。 为了接收按键广播,应用程序需要在AndroidManifest.xml文件中注册一个接收器,并指定接收的广播类型为"android.intent.action.KEYCODE"。在接收器中,可以重写onReceive方法,该方法会在接收到按键广播时被调用。 例如,当用户按下音量键时,系统会发送ACTION_VOLUME_CHANGED广播。应用程序可以在接收器中注册对该广播的监听,并在接收到广播时执行相应的逻辑,例如调整音量大小。 使用按键广播可以实现很多功能,例如在游戏中监听用户的按键操作,实现游戏控制;或者在媒体播放器中监听用户的音量键按下事件,实现音量调节。 总之,Android按键广播提供了一种机制,让应用程序能够响应用户的按键操作。通过注册接收器并监听相应的广播,应用程序可以根据按键事件做出相应的处理,从而提升用户体验。 ### 回答2: Android 按键广播是指在Android系统中,当用户在设备上按下物理按键时,系统会发送相应的广播通知应用程序。通过接收这些广播,应用程序可以捕获按键事件,并根据需要进行相应的处理。 Android系统通过Intent来实现按键广播的传递。每个按键事件都会关联一个特定的Intent,并通过广播传递给应用程序。应用程序可以通过注册广播接收器来监听这些按键广播,在接收到相应广播时执行相应的逻辑。 在Android中,常见的按键广播包括: 1. ACTION_DOWN:当按键被按下时发送的广播。应用程序可以通过监听这个广播来捕获按键按下的事件响应。 2. ACTION_UP:当按键被释放时发送的广播。应用程序可以通过监听这个广播来捕获按键释放的事件响应。 3. ACTION_MULTIPLE:当按键被时间按住并持续产生输入字符时发送的广播。 除了以上的基本按键广播,Android系统还提供了一些特定的按键广播,例如: 1. ACTION_MEDIA_BUTTON:用于媒体播放控制的按键广播,例如音量键、媒体控制键等。 2. ACTION_CAMERA_BUTTON:用于相机控制的按键广播,例如相机快门键。 我们可以通过在应用程序中注册BroadcastReceiver来监听某个特定的按键广播。当接收到对应广播时,我们就可以在广播接收器的onReceive()方法中编写相应的逻辑代码,例如改变UI界面、执行特定动作等。 总之,Android按键广播是一种通过发送广播通知应用程序的方式,来捕获和处理用户按键事件的方法。它能够实现按键与应用程序的交互,为用户提供更好的按键体验。 ### 回答3: Android按键广播是指在Android系统中,当用户按下设备上的硬按键(如返回键、菜单键、音量键等)时,系统会发送对应的广播消息,应用程序可以通过注册广播接收器来监听这些按键事件。通过捕获按键广播,可以在应用程序中做出相应的处理,例如在按下返回键时执行特定的操作。 开发者可以通过注册BroadcastReceiver并监听相关的Intent来接收按键广播。常见的按键广播Intent有ACTION_DOWN和ACTION_UP,分别表示按键按下和松开的事件。通过在BroadcastReceiver中重写onReceive()方法,开发者可以编写处理按键事件的逻辑。 在接收到按键广播后,开发者可以根据需要进行不同的处理。例如,当用户按下返回键时,可以确认用户是否希望退出应用程序,如果是,则执行退出操作;如果不是,则可以忽略该按键事件。另外,也可以根据不同的按键响应特定的功能,如音量键控制音量大小,菜单键打开菜单等。 需要注意的是,Android系统并不允许修改一些特定按键的默认行为,只能对按键事件进行监听和处理,而不能改变按键的功能。同时,不同的设备可能会有不同的按键布局和功能,因此开发者需要根据具体的设备进行适配处理。 总结来说,Android按键广播是一种方便开发者监听和处理按键事件的机制。通过注册广播接收器,并根据需要编写相应的逻辑,开发者可以自定义在应用程序中按下不同硬按键时的行为。这样,可以提供更好的用户体验并增加应用程序的功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值