我想删除状态栏,仍然可以使用带有USB鼠标的平板电脑.
有谁知道在android中配置行为的位置/方式?
解决方法
默认行为:Android将此视为后退按钮,没有可见的异常.
对于手机和普通应用来说,这是一个非常好的功能.但是,有两种类型的人希望以不同的方式实现此功能. Modders和应用程序开发人员.
Modders的修复:在一个有根设备上(并且可能是针对很多具有未锁定adb的失败设备的无根),请在/ system /usr/keylayout下观察Generic.kl.搜索标志KEY_BACK,链接到它的多行上可能有多个密钥代码.对我来说,它是带有WAKE_DROPPED标志的键158.对于通用的“右键单击”功能,您需要交换后退键和菜单键的数字代码,因此当鼠标发送后退键命令时,系统将实际触发菜单键命令,同时保持一些用于返回的设备上的硬件密钥(标记为菜单键).是的,这将反转手机上的硬件键,但这是最简单的解决方案,无需重建整个ROM.如果这是出于公司或专业原因,可能会看到这篇文章:Overriding Mouse Events Kernel-Level.我实际上建议创建一个Xposed模块来覆盖它们引用的过程.否则,查看如何重新映射密钥代码,抱歉,我在这里找不到一篇简单的文章.
应用程序开发人员修复:非root:覆盖应用程序中的返回键并返回true.在onBackPressed()覆盖中,执行必要的任何右键单击功能.简单!由于您最有可能想要类似PC的上下文菜单功能,因此您还需要通过应用于根视图的MotionEvent侦听器跟踪鼠标所在的位置,并使用event.getRawX()和RawY()调用存储值为全局变量.然后,您可以通过设置上边距和左边距并将其设置为可见,将上下文菜单(大小为ListView或VerticalLinearLayout)放置在光标下.如果要通过右键单击(例如删除或复制)在布局中的悬停对象上执行辅助功能,则必须手动确定存储的鼠标坐标悬停在哪个对象上.您可能必须在每个受影响的对象上添加MotionEvent.ACTION_HOVER_ENTER侦听器,并将对象ID存储在全局变量中,以便在调用onBackPressed()函数时使用. (我有空的时候会提供代码!)
希望这有助于任何人探索这样一个特定主题!