yunshuipiao / Potato

Read the fucking source code for the Android interview
Apache License 2.0
80 stars 12 forks source link

Andorid IME:Custom KeyBoard #61

Open yunshuipiao opened 5 years ago

yunshuipiao commented 5 years ago

Andorid IME:Custom KeyBoard

在 Android 实现自定义键盘,以及输入法用到两个系统类。

Keyboard 和 KeyboardView

这两个系统类用于实现自定义的键盘。

根据官方文档,在 API 29 之后弃用。开发者可以重新实现,或者从 AOSP 中直接拷贝源码即可。

Keyboard

该类内部有个 Key,用于记录每个键的信息,code,height,width等。持有所有的 Key,并对外提供接口。

KeyboardView

负责绘制所有 Key,包括背景和动画。并监听 Touch 事件,根据 Touch 处的坐标,计算出点击的 Key,通过 OnKeyboardActilonListener 通知调用处,产生响应的结果。

后续