当前位置:操作系统 > 安卓/Android >>

Android的文本和输入---拼写检查器

拼写检查器的清单和元数据
 
除代码之外,你还需要给拼写检查器提供对应的清单文件和元数据文件。
 
清单文件定义了应用程序、服务以及用于控制设置的Activity,如:
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 
    package="com.example.android.samplespellcheckerservice" >
 
    <application
 
        android:label="@string/app_name" >
 
        <service
 
            android:label="@string/app_name"
 
            android:name=".SampleSpellCheckerService"
 
            android:permission="android.permission.BIND_TEXT_SERVICE" >
 
            <intent-filter >
 
                <action android:name="android.service.textservice.SpellCheckerService" />
 
            </intent-filter>
 
 
 
            <meta-data
 
                android:name="android.view.textservice.scs"
 
                android:resource="@xml/spellchecker" />
 
        </service>
 
 
 
        <activity
 
            android:label="@string/sample_settings"
 
            android:name="SpellCheckerSettingsActivity" >
 
            <intent-filter >
 
                <action android:name="android.intent.action.MAIN" />
 
            </intent-filter>
 
        </activity>
 
    </application>
 
</manifest>
 
注意,对于要使用的服务组件,必须申请BIND_TEXT_SERVICE权限来确保只有系统绑定到这个服务。该服务的定义还指定了spellchecker.xml元数据文件,该文件内容如下:
 
<spell-checker xmlns:android="http://schemas.android.com/apk/res/android"
 
        android:label="@string/spellchecker_name"
 
        android:settingsActivity="com.example.SpellCheckerSettingsActivity">
 
    <subtype
 
            android:label="@string/subtype_generic"
 
            android:subtypeLocale="en”
 
    />
 
    <subtype
 
            android:label="@string/subtype_generic"
 
            android:subtypeLocale="fr”
 
    />
 
</spell-checker>
 
 
 
该元数据指定了拼写检查器用来控制设置的Activity。它还给拼写检查器定义了子类型,在本例中,子类型定义了拼写检查器能够处理的语言环境。
 
从客户端访问拼写检查器服务
 
使用TextView的应用程序会自动接收拼写检查,因为TextView会自动的使用拼写检查器,如下图所示:
 
\
 
图2.TextView中的拼写检查
 
但是,在某些情况下,你可能想要直接与拼写检查器的服务进行交互,下图显示了与拼写检查器的服务进行交互的控制流:
 
\
 
图3.与拼写检查器的服务进行交互
 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,