创世魂 发表于 2023-5-9 08:13:51

【解决方案】火山安卓监听音量键按下并拦截


火山安卓实现监听音量键按下并拦截,拦截后就可以做自己想做的事情了。
比如说自定义一个音量组件,或者干其它事情。
添加“通知_按键事件”虚拟方法就行。



<火山程序 类型 = "通常" 版本 = 1 />

方法 通知_按键事件 <公开 类型 = 逻辑型 注释 = "当用户在本窗口上使用设备真实/虚拟按键进行输入时,将产生\"按键输入事件\","
      注释 = "如果该事件没有被窗口中的任何组件所处理本方法将被调用." 注释 = "本通知与\"通知_即将发送按键事件\"/\"通知_即将发送快捷键事件\"的区别是: 本"
      注释 = "通知在对应组件处理本触摸事件之后发送." 返回值注释 = "返回真表示本事件已经被处理且不再需要进行默认处理,返回假表示未被处理." @虚拟方法 = 可覆盖>
参数 通知类型 <类型 = 按键通知类型 注释 = "提供具体的按键通知类型">
参数 按键代码 <类型 = 整数 注释 = "提供按键的代码值,可能的代码值请见\"按键代码类\"中定义的常量表.">
参数 按键输入事件 <类型 = 按键事件类 注释 = "提供具体的按键输入事件">
{
    如果 (通知类型 == 按键通知类型.被按下)
    {
      如果 (按键代码 == 按键代码类.扬声器音量增大键)
      {
            提示框 ("音量+")
      }
      如果 (按键代码 == 按键代码类.扬声器音量减小键)
      {
            提示框 ("音量-")
      }
      返回 (真)
    }
    返回 (父对象.通知_按键事件 (通知类型, 按键代码, 按键输入事件))// 调用基础类中的被覆盖虚拟方法
}

先生 发表于 2023-5-9 11:19:24

火山终于可以复制粘贴代码了:'(

lhy201233 发表于 2023-5-9 11:49:17

这看的反而不舒服,还是填表看的习惯https://bbs.voldp.com/static/image/smiley/grapeman/12.gif
页: [1]
查看完整版本: 【解决方案】火山安卓监听音量键按下并拦截