前段时间通过继承KeyboardView做了个自定义键盘,后来测试发现在打开触摸按键音时没有按键音效果。经过多番尝试最后终于解决了问题。

关于View的点击音是如何实现的请参考: 点击打开链接
KeyboardView 的文档说明请参考: 点击打开链接 搜索sound关键字,大致定位点击音效是在performClick函数中执行。
View.java 中的performClick函数代码如下:

   public boolean performClick() {final boolean result;final ListenerInfo li = mListenerInfo;if (li != null && li.mOnClickListener != null) {playSoundEffect(SoundEffectConstants.CLICK);if (ViewDebugManager.DEBUG_TOUCH) {Log.d(VIEW_LOG_TAG, "(View)performClick, listener = " + li.mOnClickListener+ ",this = " + this);}li.mOnClickListener.onClick(this);result = true;} else {result = false;}sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);notifyEnterOrExitForAutoFillIfNeeded(true);return result;}

上面ListenerInfo 不清楚是什么,mOnClickListener就是我们平常所设置的View.OnClickListener。只有当两者不为空才能触发playSoundEffect。所以我们要在我们的自定义键盘中设置该监听器。
然后在按键松开时,调用performClick() 即可。

自定义键盘KeyboardView如何添加点击音效相关推荐

  1. 微信小程序为按钮添加点击音效

    1.实现原理 文档地址:InnerAudioContext 2.实现代码 const innerAudioContext = wx.createInnerAudioContext() innerAud ...

  2. Android 自定义键盘 随机键盘

    之前上传的另外一个自定义键盘,并没有实现键盘弹出的时候,布局向上自动调整.(网络上所有的自定义键盘都没有添加自适应的功能,而且布局没这么好看,上一个例子资源链接为:http://download.cs ...

  3. Keyboard与KeyboardView --- 自定义键盘

    [记录]记录点滴 场景: 实现自定义的身份证键盘 需求: 实现0-9数字键,X键,确认键(或其他),删除键 1. 利用Keyboard实现布局 在res/xml目录下创建keyboard的布局xml文 ...

  4. Android自定义键盘(KeyboardView)

    目录 1.场景: 2.想法: 3.开始实现: <一> 在res包下创建xml目录,Keyboard标签来定义键盘布局: <二>创建IKeyboardView类并继承Keyboa ...

  5. android 自定义键盘字体大小,android.inputmethodservice.KeyboardView 自定义键盘 字体大小设置...

    KeyboardView 设置自定义键盘上文本的属性,其中字体的设置用:android:keyTextSize    android:labelTextSize 即可实现!! 亲测! android: ...

  6. ios 自定义键盘的按键音效和震动效果

    问题:有一些应用有这样的需求,自定义键盘按键时增加字符放大效果和音效.震动效果,仿系统键盘: 说明:按键的放大效果,比较简单,这里不做说明,读者可以自己去完成:这里主要介绍下增加按键音效和震动效果: ...

  7. ios点击大头针气泡不弹出_高德 ios 自定义气泡添加点击事件无效问题

    在使用高德地图sdk开发的时候,需要自定义气泡吹出框,发现气泡添加的点击事件或者button都没响应. 原因:自定义的气泡是添加到大头针上的,而大头针的size只有下面很小一部分,所以calloutV ...

  8. 高德地图单点、多点标记,轨迹绘制,自定义标记覆盖物,给标记添加点击事件,移除所有标记和轨迹,轨迹回放功能

    文档地址 https://lbs.amap.com/api/javascript-api/guide/abc/prepare 注册 到官网注册一下就可以了https://lbs.amap.com/并创 ...

  9. android keyboard颜色,Android基于KeyboardView和Keyboard实现自定义软键盘 自定义键盘背景色...

    Android基于KeyboardView和Keyboard实现自定义软键盘 在一些特别的情况下我们需要去自定义键盘 例如: 银行app的密码输入之类的 笨方法就是直接使用布局写我们的自定义软键盘 但 ...

最新文章

  1. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
  2. Objective-C之成魔之路【16-使用文件】
  3. python程序的基本结构知识点总结_Python知识点总结
  4. angular点击按钮弹出页面_Win10提示“由于启动计算机时出现了页面文件配置问题”解决方法...
  5. 原则 principles
  6. 【Android开发】之编译脚本Makefile编写
  7. 解决win7检测不到第二个显示器的方法
  8. 【转】android fragment 博客 学习
  9. Kotlin — 适用于 Web 开发
  10. 1024,今天给大家发100个现金红包和思否课程、掘金小册
  11. VUE+element-ui开发出的美观好看的登录注册模板组件 集成方便
  12. 360视频:分段球面投影SSP
  13. 6张图教你搞定侧方停车----fwqlzz love is for ever
  14. 英语语法笔记——名词性从句(三)
  15. unity3D 音效的设置 音效的开关 制作声音的开关按钮
  16. mysql 时间毫秒值_MySQL存储毫秒数据的方法
  17. 使用VS2013+MATLAB2016B开发MEX(64位)程序
  18. 新特性解读 | MySQL 8.0 对 limit 的优化
  19. 计算机考证一般多少钱
  20. 钓鱼邮件从入门到放弃

热门文章

  1. 大锤老湿教您如何配置TP-Link路由器组建wifi上网
  2. 2021-09-11职场规则
  3. 阿里云智能分析套件Quick BI详细介绍_智能分析套件Quick BI特性及优势
  4. python如何查询数据库_通过Python查询数据库信息
  5. 杰理之NLP 参数【篇】
  6. Android中的多线程
  7. 关于我开始使用博客的这件事
  8. 页面报404错误有哪些原因?
  9. C++必知必会RALL与Pimpl
  10. win2003配置apache支持php_asp,Win2003下配置asp+cgi+php+mysql