怎样在android中添加按钮并设置大小

怎样在android中添加按钮并设置大小,第1张

在android中添加按钮并设置大小的步骤:

打开android软件eclipse.exe

2. 软件打开中

3. 点击Finsh

4. 新建一个工程。

5. 新建工程的参数如下。

6. 打开新工程中的main.xml文件。

7. 点击下面的main.xml,进入代码界面。

8. 在初始代码的下面位置添加按钮代码。

9. 代码如下。

10. 预览如下。

11. 设置按钮的text位置如下。

12. 设置如下。

13. 预览如下。

14. 设置大小位置如下。

15. 代码如下。

16. 预览如下。

对应android6.1,framework添加按键

首先看 KeyEvent 里的一段注释

\frameworks\base\core\java\android\view\KeyEvent.java

可以看到修改涉及到的文件:

frameworks/native/include/android/keycodes.h

frameworks/native/include/input/InputEventLabels.h

frameworks/base/core/res/res/values/attrs.xml

以及KeyEvent.java

另外还有一个文件是

\frameworks\base\data\keyboards\Generic.kl

手机里的位置为

/system/usr/keylayout/Generic.kl

PS :  从android4.0开始使用Generic.kl 替换了 qwerty.kl,后续版本不再使用qwerty.kl。

接下来以添加新按键为例:

假设驱动已添加对应按键0x2f8

1. \frameworks\base\data\keyboards\Generic.kl

添加新键值和对应字符串

其中0x2f8 是驱动上报的扫描键值, CHARG_STATUS 是我们自己定义的唯一字符串

2. frameworks/native/include/input/InputEventLabels.h

在 KEYCODES[] 中添加

其中DEFINE_KEYCODE是一个宏定义

将上面的宏展开就是 { CHARG_STATUS, AKEYCODE_CHARG_STATUS }

其中CHARG_STATUS对应上面定制的字符串

3. frameworks/native/include/android/keycodes.h

在该文件定义新的键值

注意键值的名字跟上一步步添加的宏展开后的名字一致,值280就是应用层接收到的keycode

4. 若有需要可重写 KeyEvent.java 中的方法,以及 attrs.xml

从上述文件可以猜到键值转化流程:

0x2f8---->CHARG_STATUS--->AKEYCODE_CHARG_STATUS (280)

PS :

1.调试可打开以下库文件的开关

\frameworks\native\libs\input

\frameworks\native\services\inputflinger

2.  adb shell dumpsys input 查看现有输入系统

3.  adb shell getevent 可查看现有的输入事件

4.在/system/usr/keylayout中还有很多Vendor_xxxx_Product_xxxx.kl 之类的配置文件,但是我们没有配置对应的vend id等,所以一直使用默认的Generic.kl。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11600698.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存