Android Settings ——language / locale 修改语言

本文探讨了Android系统中修改语言的过程,涉及关键组件如AndroidManifest.xml、InputMethodAndLanguageSettings.java、LocalePicker及配置文件。从UI到系统底层的ActivityManagerService,详细解析了更新配置和locale文件的路径,包括persit.sys.locale和locale_config.xml的使用。
摘要由CSDN通过智能技术生成

看过就忘!为了照顾自己的痴呆脑,劳累双手记录一下。


packages/apps/Settings/AndroidManifest.xml

        <activity android:name="Settings$InputMethodAndLanguageSettingsActivity"
            android:label="@string/language_keyboard_settings_title"
            android:icon="@drawable/ic_settings_language"
            android:taskAffinity="com.android.settings"
            android:parentActivityName="Settings">

            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.inputmethod.InputMethodAndLanguageSettings" />

        </activity>

 

[UI 主view]

packages/apps/Settings/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java

public void onCreate(Bundle icicle) {
        addPreferencesFromResource(R.xml.language_settings);
}

packages/apps/Settings/res/xml/language_settings.xml/language_settings

   <PreferenceScreen
            android:key="phone_language"
            android:title="@string/phone_language"
            android:fragment="com.android.settings.localepicker.LocaleListEditor"
            />

packages/apps/Settings/src/com/android/settings/localepicker/LocaleListEditor.java

    @Override
    public void onLocaleSelected(LocaleStore.LocaleInfo locale) {
        mAdapter.addLocale(locale);
        updateVisibilityOfRemoveMenu();
    }

packages/apps/Settings/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java

    void addLocale(LocaleStore.LocaleInfo li) {
        mFeedItemList.add(li);
        notifyItemInserted(mFeedItemList.size() - 1);
        doTheUpdate();
    }
    public void updateLocalesWhenAnimationStops(final LocaleList localeList) {
    
        final RecyclerView.I
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值