Android???TextView???????????
???????????? ???????[ 2013/5/16 10:28:29 ] ????????
????ViewGroup?????????dispatchKeyEventPreIme???????鵱????????????????????????y???????????y??????????ViewGroup?????????mPrivateFlags??FOCUSEDλ?????1??????????????????????????y????????£???????????????????????????????????С????????ViewGroup?????????mPrivateFlags??HAS_BOUNDSλ??????1?????????????????С?????????y????????£???????????????????????????????event????????????????????????????????????????????丸??View????????dispatchKeyEventPreIme?????????event?????????????????
????????????????????????????????????event????????????????????????????????y??????????????????????????С??????????????????ViewGroup?????????dispatchKeyEventPreIme??????event??????????????????????????????????????????????????????y??????????????ViewGroup?????????mFocused?????????????????????????????????????View???????????dispatchKeyEventPreIme?????????event???????????????????????y??????????????
?????????????????????????????????????????????????????????????????????????????????Pointer????????Pointer?????????????????????????????????????????????????????????????????棬??????????????????????????????
????????????????????????????????????????????????y??????????????????y???????????????View?????????dispatchKeyEventPreIme?????????????????event?????????????????????????????????????View?????????dispatchKeyEventPreIme??????
????Step 3. View.dispatchKeyEventPreIme
????[java] view plaincopyprint?
????public class View implements Drawable.Callback?? KeyEvent.Callback?? AccessibilityEventSource {
????......
????public boolean dispatchKeyEventPreIme(KeyEvent event) {
????return onKeyPreIme(event.getKeyCode()?? event);
????}
????......
????}
????public class View implements Drawable.Callback?? KeyEvent.Callback?? AccessibilityEventSource {
????......
????public boolean dispatchKeyEventPreIme(KeyEvent event) {
????return onKeyPreIme(event.getKeyCode()?? event);
????}
????......
????}
????????????????????frameworks/base/core/java/android/view/View.java?С?
????View?????????dispatchKeyEventPreIme???????????????????????????????????onKeyPreIme?????????????????event????????????????
????Step 4. View.onKeyPreIme
????[java] view plaincopyprint?
????public class View implements Drawable.Callback?? KeyEvent.Callback?? AccessibilityEventSource {
????......
????public boolean onKeyPreIme(int keyCode?? KeyEvent event) {
????return false;
????}
????......
????}
????public class View implements Drawable.Callback?? KeyEvent.Callback?? AccessibilityEventSource {
????......
????public boolean onKeyPreIme(int keyCode?? KeyEvent event) {
????return false;
????}
????......
????}
????????????????????frameworks/base/core/java/android/view/View.java?С?
????View?????????onKeyPreIme???????????????????????event????????????????????????????????????????????????????????????????????????????д????View????????onKeyPreIme??????д????View????????onKeyPreIme???????????????????????????????????????????????????????????????true??????????????????false???
??????????赱???y???????1?????TextView?????????????TextView???????д?丸??View????????onKeyPreIme??????????event????????????????????????????????????????????????????
?????????????????????????Step 1?У???ViewRoot?????????deliverKeyEvent?У????????????????????????????????????????????????????ViewRoot?????????deliverKeyEventToViewHierarchy?????????ü??????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11