温故而知新,先看看网上已有的相关材料。
http://android-developers.blogspot.com/2009/04/creating-input-method.html
这篇文章的基本点有几个。
第一、两个view 对象:input view和canidates view。
input view 一般就是一个键盘,canidates view就是在键盘上面根据用户输入,给用户选择提示的。

第二、两种向应用送文本的方法。一个是send key, 一个是直接改变游标附近的值。一般的输入法都是用第二种居多。

其中重点中的重点是:链接应用与输入法的对象是叫InputConnection的接口。输入法不直接与应用的视图进行通信,而是通过InputConnection这座桥梁。输入法要获取要修改的字符串,要获取游标的信息是通过它,输入法要改变游标附近的字符也是通过这个桥梁。

在sdk里面有一个叫SoftKeyBoard,是一个比较简单的输入法的实现,非常有用。然后sdk源代码中的TextView,EditableInputConnection也非常实用。

总结:
1、要实现一个输入法:定制自己的input view和canidates view这两个界面,调用inputConnection接口来送出文本。
2、要实现一个能够与应用输入法的视,你需要在视图中实现onCreateInputConnection.然后你要为自己的视图定制合适的InputConnection实现。主要实现里面的commitText,getEditable等方法。

更多相关文章

  1. Android(安卓)Studio 视图解析
  2. [置顶] Android(安卓)ButterKnife
  3. Android数据库中查找一条数据使用的方法 query详解
  4. Android(安卓)ExpandableListView 进行二级扩展 (BaseExpandableL
  5. android用户界面-组件Widget-网络视图WebView
  6. popupWindow 使用
  7. 安卓:View的基本信息
  8. Android自定义Dialog二次调用报错解决方法:The specified child a
  9. Android(安卓)Material Design之CoordinatorLayout全面使用介绍

随机推荐

  1. (Android(安卓)jni) error: base operand o
  2. Android事件分发-总结
  3. android常用控件
  4. Persistent services in Android[服务不
  5. Android教程之android数据库编程
  6. android开发教程系列(1)Activity
  7. Android(安卓)SQLite Shell
  8. (转摘)Android腾讯微薄客户端开发八:微博
  9. android监听Home键
  10. Android事件分发机制原理及源码分析