美文网首页Android输入法开发合集
1. Android输入法基本创建方式

1. Android输入法基本创建方式

作者: 小七在简书 | 来源:发表于2018-02-28 16:30 被阅读76次

    一、 输入法简介

    Android InputMethodService,简称IME。看命名就知道,这是一个服务(service),但是这个Service有点特殊,是系统级别的Service,这个Service的生命周期由系统自动控制。

    二、创建流程

    step1. 创建自己的输入法服务

    public class MyIMEService extends InputMethodService {
    // 后续添加具体实现
    }
    

    step2. 和所有的服务一样,需要到配置文件中进行注册

    <!--输入法服务-->
    <service
        android:name=".main.MyIMEService"
        android:permission="android.permission.BIND_INPUT_METHOD">
        <intent-filter>
            <action android:name="android.view.InputMethod"></action>
        </intent-filter>
        <meta-data
            android:name="android.view.im"
            android:resource="@xml/method"/>
    </service>
    

    step3. 配置输入法对应的配置文件

    <?xml version="1.0" encoding="utf-8"?>
    <input-method xmlns:android="http://schemas.android.com/apk/res/android"
                  android:settingsActivity="//这里的内容决定了从输入法配置中点击时跳转到的界面"> 
    </input-method>
    

    所以这里需要添加一个设置界面(ActivitySettingHome.java)

    <!-- 输入法设置主界面 -->
    <activity android:name=".activity.ActivitySettingHome"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/> // 接收的事件动作
            <category android:name="android.intent.category.LAUNCHER"/> // 接收事件分类“打开”
            <category android:name="android.intent.category.DEFAULT"/> // 接收事件分类“默认”
        </intent-filter>
    </activity>
    

    这里布局文件和Activity代码就不贴出来了,基本是空的

    OK!到了这里,我们自己的输入法服务就在系统输入法列表中有了一席之地了;

    下面看看效果:


    设置主界面.jpg 系统输入法列表.jpg 切换输入法列表.jpg

    PS:
    step3中提到的一个问题,如果在method.xml中没有配置“android:settingsActivity”节点的属性的话,在下图中的点击时不会有响应,这个属性唯一的用处好像只有这里了!


    系统设置中的输入法设置界面.jpg

    好了,这里对输入法的基础实现做了简要的介绍,当然现在只是一个起步,这样的实现,连基本的输入法面板界面都没有实现。下面会介绍InputMethodService的框架,到时候会给大家详细介绍界面的实现。如对本文有任何疑问,请联系我!QQ:384444740

    相关文章

      网友评论

        本文标题:1. Android输入法基本创建方式

        本文链接:https://www.haomeiwen.com/subject/riqmxftx.html