Android 自定义Button(支持长按消息连续上报)

本文介绍如何在Android中创建一个自定义Button,使其支持长按事件并连续上报。通过继承Button并实现一个Handler,可以在长按期间周期性触发事件。此外,提供了一个RepeatListener接口用于接收长按事件的上报。
摘要由CSDN通过智能技术生成

有时候我们会遇到这样一个需求:

需要Button能够响应长按消息。而且是连续上报长按。(例如该按钮是播放器的 下一曲 按钮, 长按的时候能够有快进的效果)

Android 原生能够支持长按,但是长按消息只上报一次。如何才能够不停上报长按呢?

猜的没错,如果原生没有我们就自己改造。

1. 继承自 Button ,别问为什么。现成能用的别浪费就好。(我们只需要在原生Button上添加 ‘长按’)

2. 既然需要不停上报,两个选择:

   1)自己开一个线程,专门做这个东东。  // 这个不多做介绍。相信你能搞定

   2)   别那么浪费,如果不是很耗时挂在主线程上就可以了。// 这个我相信你会,我啰嗦讲一下吧

3. 给你的控件添加一个'一直按下'的上报接口吧。(这里使用 interface )

 

package com.magicy.repeatbutton;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

public class MagicButton extends Button {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值