前言
话说,今天天气晴朗,阳光明媚,白云朵朵,长安城大龄剩女路云菲摆擂台比武招亲。长安第一高等学府弘文学院的武术先生柳傲天前来打擂。众学生前来助阵。一场热闹的挑战就此开始啦。
今天挑战的题目就是高仿Android版《奕奕输入法》。
具体要求如下:
第一关:创建输入法的服务类。并且进行配置。
第二关:显示一个简单的键盘。
第三关:创建一个输入法的设置界面,并且显示出来。
第四关:完善键盘。
第五关:实现键盘的点击事件。
通过以上无关,即可进入下一轮选拔。哈哈。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一关:创建输入法的服务类。并且进行配置。
1、创建服务类。
//创建一个服务类,该类继承自输入法服务类。
public class Main extends InputMethodService {
}
代码解释:首先创建一个服务类,并且让该类继承自输入法服务类(InputMethodService)。因为输入法本身就输入一个服务,就好像壁纸等后台服务功能。都是在后台服务,不过该服务可以显示视图(键盘和候选字词的视图)。
2、在AndroidMainfest.xml中进行配置。
<!-- 这里是输入法的服务 -->
<service
android:name="com.smileim.cn.Main"
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" >
</meta-data>
</service>
代码解释:
这里是对上面的服务类Main进行相应的配置。
包括Main类的路径,权限。以及在intent-filter中进行action的设置。元数据的设置。
注意这里:android:resource="@xml/method"。也就是说需要创建一个xml文件夹