既然写到后记篇,就代表本系列到此为止,暂时告一段落;其他一些Manager随后有时间再补,就像源码的一些翻译一样,有时间总会补上的,同时也希望大家一如既往的喜欢,直言不讳的提出宝贵意见。后记将讲述输入模块和编译系统内容,以及对整个系统的总结。一言不合就来图,且看下图,有关硬件消息传递-以下是消息在硬件中处理后如何传递到Window层的过程硬件的消息,由触屏和按键触发,通过驱动处理,形成Up、Dow
 如果不是我的Google拼音输入法出了点问题,我大概不会去尝试搜狗的Android平台拼音输入法。虽然全键盘在竖屏的情况下非常难用,不过横屏的时候还是可以接受的,何况G1有物理键盘。现在的问题是,我的Google拼音无法选择candidate中第二页的文字了,重新安装也无济于事。这个时候我想起了前段时间看到的搜狗推出Android平台输入法的新闻,于是赶紧去下载来尝试了一下。在搜狗手机
  概述   首先我们了解输入法框架(InputMethodFramework, 下简称IMF)整体的UML图,基于Android10,不同Android版本之间会有少许差异,不过不影响整体结构。 从UML图可以看出IMF涉及到三个主要部分: InputMethodManager(下简称IMM)是整个输入法框架的核心,运行于客户端进程,客户端可以使
Android输入法框架(Input Method Framework,IMF)是Android中非常重要的模块,它分布于三个部分(确切的说,是三个进程),包含编辑框的客户(Client)app,表示普通的使用输入法的app进程。当点击编辑框时,会切换出当前选中的输入法;当用户在输入法输入字符,提交候选词,则会更新到编辑框中。为了完成这些行为,它需要跟下面的两个输入法相关服务进行交互。对于普通ap
转载 2023-09-12 23:40:38
352阅读
程序焦点获取事件导致输入法显示         从上面可以知道程序获得焦点时,程序端会先间接的调用IMMS的startInput将焦点View绑定到输入法,然后会调用IMMS的windowGainFocus函数,这个函数就可能显示输入法, 是否显示输入法由焦点view的属性决定。过程流程图如下: 代码处理逻辑
一、结构 public final class InputMethodManager extends Object  Java.lang.Object android.view.inputmethod.InputMethodManager 二、类概述   整个输入法框架(IMF)结构的核心API,应用程序之间进行调度和当前输入法交互。你可以用Context.getSystemServ
本文将采取问答形式展开,收集的一些平时修改android平台源码遇到的问题。基于展讯平台,别的平台也基本上类似修改即可。case 1:android:imeOptions有什么作用?曾经出现一个问题:固定拨号横屏下保存输入PIN2码后完成功能失效。经检查发现编辑框的android:imeOptions="actionDone"属性没有设置。在android2.3.5上修改Phone/res/lay
   导言:  本文是一个整理笔记。 安卓下软键盘遮挡输入框通常可以通过adjustpan和adjusrResize解决,但是如果你得activity设置了沉浸式,那么adjustResize会失效,adjustPan又不灵活(无法滑动),这个bug被称为安卓5496bug,具体解决方式搜安卓5497就有很多,但是难以做到多个适配,笔者搜了各种方式,最后才是
转载 9月前
133阅读
手机是华为荣耀8,屏幕5.2寸。 前面说明:由于我经常对各种手机输入法的小毛病不能容忍,并且常常会在9宫格和26键之间切换,故而时常会换各种输入法。目前我手机上有四种输入法,下面一一来说一下各个输入法的优缺点。 上面所说的四种输入法包括: 百度输入法(手机自带的那种)、 搜狗输入法、 讯飞语音输入法、 谷歌拼音输入法。 1、输入流畅度排名是:搜狗>
InputMethodServiceInputMethodService是整个输入法框架的核心,我们要写一个输入法,最核心的就是继承InputMethodService。 之后我们要重写几个重要的方法: onInitializeInterface()看名字就知道,他是在初始化界面的时候被调用,而一般是一位配置文件的更改导致该函数的执行 onBinndInput() 它在另外的客户端和该输入法连接
转载 3月前
41阅读
Android原生系统中,默认的输入法是“Android键盘(AOSP)”,此输入法包括55种输入语言,具体有哪一些,去看看原生系统里的就知道了,目测没有中文(不知道为啥)。还有一种“Google语音输入”,包含78种输入语言,包括中文。如果安装了其他的输入法,其输入语言得看输入法自身的了,比如搜狗中文就只有中文一种输入语言。输入法操作有些是需要root权限的,比如勾选输入法等,需要的权限如下:&
转载 2023-07-26 14:13:35
1127阅读
我们自己要重写一个简单的输入法确实很简单,但是要写一个输出中文或者五笔等等就比较麻烦。因为你需要引擎,建议使用别人的引擎先进行改造。这篇文章着重是在输入法UI层面上进行讲解,不涉及引擎问题,引擎问题可以查看源码或者网上自行查找学习(或者下一篇文章会推出).note: 本文章有一些内容是涉及TV端的,本程序猿是一枚android TV开发人员.  1. 了解输入法整体的窗口布局.
近日,搜狗手机输入法Androidv7.5上线,除了传统的词库、键盘性能、主题皮肤的丰富扩展和性能提升,最大的突破在于颠覆了人们对传统输入法的定义,完成了桌面APP(即桌面图标)到皮肤界面的华丽蜕变——从传统的设置程序转变为输入法产品的内容消费平台。具体有哪些改变,我们一起看看吧——清晰简洁,设置搜索一步到位当你开启全新的搜狗手机输入法时,你会惊奇地发现,告别了标签页过多、较为冗杂的v7.4时代,
近日,百度手机输入法发布了全新安卓5.1版,主打离线语音、粤语语音、智能英文、英文单词手写、全新皮肤等功能,获得了不少用户的好评。据了解,百度手机输入法安卓5.1版在原5.0版简约风格的基础上更加专注输入,带来了语音、英文、手写、联想等基础输入的全面提升,追求最极致的用户输入体验;而全新的默认皮肤,以及新上线的AndroidL风格皮肤,更为大家带来了扁平视觉的全新体验,不免让人眼前一亮。离线语音劲
经常会遇到需要控制输入法的情况,如输入法显示、隐藏; 输入法弹出后,界面被顶上去或编辑框被遮挡等问题;下面分为几个部分总结输入法属性设置,及输入法控制。 一、windowSoftInputMode设置 activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题        这个属性能影响两件事情:     &
前言EditText是大家比较熟悉的输入框控件,我们长按,可以使用系统自带的复制粘贴功能;另外获得焦点后,也能和输入法进行交互,实现文字的输入! 如果一个EditText,没有设置任何style,我们想在粘贴显示之前,做一些逻辑上的操作,比如一段文字是粗体或者倾斜的,我想粘贴过来也是粗体或者倾斜,该怎么做!还有如果我们想在输入法输入文字时,就想让输入法输入的文字是粗体或者倾斜的展示在EditTe
剪贴板相关的类ClipboardManager在Android系统中,系统的剪贴板是由一个全局的ClipboardManager类来代表的。你不能直接实例化这个类,相反,要通过调用getSystemService(CLIPBOARD_SERVICE)方法来获得对它的引用。ClipData、ClipData.Item和ClipDescription要把数据添加到剪贴板上,你就要创建一个包含数据描述和
转载 2023-07-25 15:15:01
143阅读
Android平台上的输入法实在是多得数不过来了,除了谷歌官方的输入法,还有老牌的搜狗等输入法以及后来的百度输入法等同样也在移动平台上大放异彩,可以说,如果再有人去开发输入法,如果不做出点差异化,那么几乎是没有什么必要了。今天我们要来说的讯飞输入法,就是在众多国产优质输入法的夹缝中找到了一个突破点,而这个突破点,就是语音输入!应该说,语音和文字的相互转化会成为以后移动设备输入的发展方向,Andro
Android 1.5 新特色之一就是输入法框架(Input Method Framework,IMF),正是它的出现,才为诞生不带实体键盘的设备提供了可能。IMF设计用来支持不同的IME,包括了soft keyboard,hand-writing recognizes和hard keyboard translators。这里,我们把焦点锁定在soft keyboard上。新特色对普通应用开发者而
如何创建一个android输入法 为了创建一个输入法输入信息到文本输入框或者其它View,你需要扩展 android.inputmethodservices.InputMtehodService类。这个API提供了很多一个输入法需 要的基本实现,比如管理输入法的状态以及可见性,还有就是如何与当前可见的activity通 信。一个比较好的起点是SDK中SoftKeyboard示例代码。你
  • 1
  • 2
  • 3
  • 4
  • 5