由于项目需求,需要修改android系统原生输入法。以下修改的是源码中的LatinIME/java工程。

示例添加的是隐藏软键盘的按键,具体的该在哪个位置添加,进入到相应的文件就明白了。

A.将hide_keyboard.png放入res/drawable_hdpi文件夹中
B.在res/value/keyboard-icons-holo.xml,theme_gb.xml中添加映射,<item name="iconHideKey">@drawable/hide_keyboard</item>
C.在res/value/attrs.xml中添加<attr name="iconHideKey" format="reference" />
D.在com.android.inputmethod.keyboard.internal.KeyboardIconsSet.java中 添加 "hide_key",  R.styleable.Keyboard_iconHideKey,
E.在com.android.inputmethod.latin.Constants.java中添加CODE_HIDE

F:在在com.android.inputmethod.keyboard.internal.KeyboardCodesSet.java中ID_TO_NAME中添加"key_hide",

DEFAULT中添加Constants.CODE_HIDE,  RTL中添加DEFAULT[16],

G:LatinIME.java中,onCodeInput方法里添加按键的处理 hideWindow()

以上仅作为笔记,不喜勿喷,谢谢!

在Android原生输入法LatinIME中添加自定义按键相关推荐

  1. Google原生输入法LatinIME引擎初始化流程分析(二)

    引擎初始化首先是在Java层调用native的初始化方法,Java层调用如下: private void initPinyinEngine() {byte usr_dict[];usr_dict = ...

  2. Google原生输入法LatinIME词库构建流程分析(二)

    在Google原生输入法LatinIME词库构建流程分析(一) 中分析LatinIME构建流程进行到了dict_trie->dict_list_->init_list这一步,然后就是构建N ...

  3. Google原生输入法LatinIME词库构建流程分析(三)--N-gram信息构建

    N-gram信息的构建在ngram.cpp中进行构建: bool NGram::build_unigram(LemmaEntry *lemma_arr, size_t lemma_num,LemmaI ...

  4. android原生输入法皮肤,面向Android平台的输入法皮肤引擎的设计与实现

    摘要: 近年来,智能手机的流行使得越来越多的人选择手机作为社交和聊天的主要工具,手机输入法也在市场需求推动下应运而生.随着当今软件多元化的发展,输入法程序也需要换肤和定制化的功能,为了使多平台输入法兼 ...

  5. android latinime分析,Android AOSP输入法(LatinIME)大写判断分析

    LatinIME源码地址:https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/android-5.1. ...

  6. Android AOSP输入法(LatinIME)输入流程二

    一.字符输入起始: LatinIME字符输入的初始方法是LatinIME类中的onCodeInput方法: <span style="font-size:18px;"> ...

  7. android原生输入法皮肤,天了噜搜狗输入法安卓版皮肤竟然会说话

    对于新生代的90年来说,输入法的静态皮肤早已不能满足他们追逐个性.追寻潮流的步伐.搜狗输入法一直看重产品体验,追求"有趣""好玩"的新事物,希望在产品升级上给用 ...

  8. android原生输入法皮肤,duang_精选布局_触屏皮肤_皮肤布局_百度手机输入法

    皮肤布局小贴士: 说明: 该皮肤布局仅适用于2.1及以上版本百度手机输入法,不适用于2.0版. 安装前请注意该皮肤布局所适用的手机平台, 如与您的手机平台不符合,使用后可能出现皮肤布局模糊或者过大的情 ...

  9. Google原生输入法LatinIME词库扩容(Windows10环境)

    去年在Linux(ubuntu)环境下针对LatinIME进行词库扩容处理,针对LatinIME的词库构建进行了一些列分析,大家可以查阅历史文章.词库扩容最近试了一下是可以的,具体流程大致如下(win ...

最新文章

  1. 转 mac svn用法
  2. 从“执行新过程新增5%的工作量”看新过程引入
  3. 各大厂抢招WPF,小米这回是下了血本啊...
  4. java 垃圾回收机制_Java的垃圾回收机制
  5. java锁的对象引用
  6. 【图像检索】基于matlab GUI综合颜色和形状特征图像检索【含Matlab源码 1370期】
  7. java实现grpc
  8. 安装 | 最新MATLAB 2020b(64位)安装教程完整版
  9. 计算机关闭系统剪切板上的内容,如何在Win10中打开/关闭和清除剪贴板历史记录...
  10. 5s管理常用工具汇总
  11. CSR是什么样的公司?CSR蓝牙芯片有何过人之处?
  12. 离散分布的分布函数_数据分析|概率分布
  13. Python基础入门篇【26】--python基础入门练习卷B
  14. windows系统:Xshell下载安装+连接服务器
  15. linux打印机测试程序,轻松了解Linux打印之CUPS软件
  16. Matlab实现 LU分解法解线性方程组(全选主元列选主元)
  17. php mpdf导航栏信息,php – 我想使用mpdf在pdf中设置页眉和页脚
  18. 半监督学习:semi-supervised learning 直推学习:transductive learning 主动学习:active learning
  19. 回文数——Java实现
  20. 独秀日记:给我介绍一份工作

热门文章

  1. 趣头条“放心看计划”初显成效,大健康内容浏览量增幅近80%
  2. echarts 网格属性_echarts 绘制网格 教你使用graphic
  3. web前端组件开发 之 弹窗组件实现
  4. 23 种设计模式详解(全23种,含代码样例)
  5. 超时加班辞职可以要补偿吗?公司强制加班离职后怎么赔偿?
  6. 中国动车组单列试验时速453公里
  7. 关于WIN2000的入侵,以及安全防御等问题(转)
  8. 查询amazon ec2费用
  9. Lua基础学习--附代码,运行截图
  10. 如何稳定高效利用GOOGLE搜索