实现一个简易Android输入法(没有键盘)

1、现在AndroidManifest.xml 加入服务的声明:

权限要写清楚   android:permission="android.permission.BIND_INPUT_METHOD"

1 <service
2             android:name=".server.imeservice"
3             android:permission="android.permission.BIND_INPUT_METHOD">
4             <intent-filter >
5                 <action android:name="android.view.InputMethod"/>
6             </intent-filter>
7         </service>

然后在res xml文件夹建立一个文件 method.xml:

1 <input-method
2     xmlns:android="http://schemas.android.com/apk/res/android" />

2、实现该服务:

要继承 extends InputMethodService

 1 public class ImeService extends InputMethodService {
 2
 3 public void onInitializeInterface() { // InputMethodService在启动时,系统会调用该方法,具体内容下回再表
 4   // 初始化 词典数据
 5   Log.d(TAG, "onInitializeInterface");
 6  }
 7
 8  public void pickSuggestionManually(){
 9       Log.d(TAG, "input to text");
10          getCurrentInputConnection().commitText(strSuggestion, 0); // 往输入框输出内容
11          //setCandidatesViewShown(false); // 隐藏 CandidatesView
12      }
13 }

相关接口参考: http://api.apkbus.com/reference/android/view/inputmethod/InputConnection.html

时间: 2025-01-06 15:56:33

实现一个简易Android输入法(没有键盘)的相关文章

写一个Android输入法——最简步骤

本文演示用Android Studio写一个最简单的输入法.界面和交互都很简陋,只为剔肉留骨,彰显写一个Android输入法的要点. 1.打开Android Studio创建项目,该项目和普通APP的不同之处在于它不需要添加任何Activity: 我给该输入法命名为AndroidXXIME. 2.修改manifest文件 如前文<Android下创建一个输入法>中所说:输入法是一个包含IME service的安卓应用程序,首先应该在程序的manifest中声明service.我的manifes

写一个Android输入法02——候选窗、转换

上一篇介绍了完成Android输入法的最小化步骤,它只能将按键对应的字符上屏.一般的东亚语言都有一个转换的过程,比如汉语输入拼音,需要由拼音转成汉字再上屏.本文将在前文基础上加入完成转换过程所必需的候选窗.本文代码可参见https://github.com/palanceli/AndroidXXIME/tree/v2. 如下图所示,用红框框出来的窗体是候选窗,其内的字符创叫做候选串,点击候选窗使之进入输入控件叫做上屏.没有输入的时候隐藏候选窗,当输入字串还未上屏时显示候选窗: 引入候选窗需要完成

Android输入法扩展之外接键盘中文输入

大家想不想要这样一台Android  Surface平板,看着就过瘾吧. 我们知道,android目前的输入都是通过软键盘实现的,用外接键盘的少,这个在手机上是可以理解的.当手机接上外接键盘后,整体会显得头重脚轻,并且用键盘输入时,人离手机的距离就远了,自然不太适合看清手机上的内容.那在平板上呢?如果平板只是平时用来浏览看视频,不进行大量输入,自然也用不上外接键盘.那究竟什么时候需要用到外接键盘呢?本人觉得首先要满足如下两个条件. 1)   平板和外接键盘完美融合,组合后很像笔记本使用模式.类似

【转】Android点击空白区域,隐藏输入法软键盘

原文网址:http://www.2cto.com/kf/201505/401382.html 很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步对软键盘进行隐藏.为了更好的体验,我们可以实现当用户使用完毕软键盘时.点击空白区域即可实现隐藏的功能.效果如图所示: 代码实现 代码块语法遵循标准markdown代码,例如: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Android项目:输入法软键盘显示/隐藏的监听和控制,InputMethodManager用法研究

在项目开发中,用到编辑框的地方经常涉及到要监听或者控制软键盘的显示/隐藏状态.本以为这是很容易解决的一个小问题,没想到当初碰到这个问题才明白还得花点小心思才能整好.现将针对软键盘的显示/隐藏状态的监听/监控方法做一些总结,以备后用. 一.点击空白处隐藏软键盘 这是具有编辑框焦点的页面对输入法软键盘状态监听的一般需求和解决方法. 首先获得InputMethodManager:        InputMethodManager manager = (InputMethodManager) getS

制作一个简易计算器——基于Android Studio实现

一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calculator,而布局名称(Layout Name)为默认的activity_main .即设置如下图所示: 在这种前提下,有: 设置计算器布局的文件:Calculator/app/src/main/res/layout/activity_main.xml 事件监听和计算实现在同一个文件里:Calculat

Android点击空白区域,隐藏输入法软键盘

欢迎使用Markdown编辑器写博客 很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步对软键盘进行隐藏.为了更好的体验,我们可以实现当用户使用完毕软键盘时.点击空白区域即可实现隐藏的功能.效果如图所示: 代码实现 代码块语法遵循标准markdown代码,例如: package example.com.jinlin.myapplication; import android.content.Context; import android.o

Android:隐藏输入法软键盘

1.概述 1) 给LinearLayout 注册click 事件,点击后隐藏输入法软键盘.为什么要叫软键盘,很奇怪呢.通过Activity 的getSystem(Context.INPUT_METHOD_SERVICE) 获取到输入法的对象,接着把它隐藏掉. 2) EditText 输入的字符达到最大值时隐藏输入法软键盘.注册EditText 的TextWatcher 事件,通过判断输入的字符数达到最大长度时隐藏掉输入法软键盘. 2.Activity 后台代码 public class Edit

Android弹出键盘布局闪动原理和解决

弹出键盘布局闪动原理和解决 在开发中,遇到一个问题:做一个微信一样,表情输入和软键盘在切换的时候,聊天界面不闪动的问题.为了解决这个问题,需要知道一下Android的软键盘弹出的时候发生的几个变化. 当AndroidMainfest.xml 中配置android:windowSoftInputMode="adjustResize|stateHidden" 属性后,如果弹出软键盘,那么会重绘界面.基本流程如下(API 10): 1.  Android 收到打开软键盘命令 2.  Andr