首页 > 其他 > 详细

修改设置语言选项,删除 [Developer]Accented English或者增加其他自己喜欢的语种

时间:2014-02-22 05:11:48      阅读:546      评论:0      收藏:0      [点我收藏+]

经常会遇见下面的情况,表示很烦躁

bubuko.com,布布扣

语言选项里面多了第一个[Developer] Accented English 看到它就不爽,怎么删除呢?

在进入到系统设置-语言和输入法-语言,界面就会出现一列语言清单,有各种各样的语言,点击某一个语言后系统就会被设置成该语言环境。那么,这列语言的字符串资源是从哪里获取到的呢?现在结合自己的理解介绍如下:
首先,从Settings的xml目录下settings_headers.xml文件中可以知道“语言和输入法”的选项在InputMethodAndLanguageSettings.java类中,如图:![settings_headers.xml中的部分设置项][1]

然后从InputMethodAndLanguageSettings类中的onCreate()方法知道“语言和输入法”的设置布局文件为language_settings.xml文件下:![InputMethodAndLanguageSettings.java部分代码][2]
接着,我们再找到language_settings.xml布局文件:![language_settings布局文件部分代码][3]
可知,"语言"这一选项的代码实现是在LocalePicker.java下,接着再找到LocalePicker类:![LocalePicker类代码][4]
从代码可知,改类继承自framework层下的一个同名LocalePicker类,该类只是作为一个接口,具体实现是在com.android.internal.app.LocalePicker文件中,截取关键代码:

public static ArrayAdapter<LocaleInfo> constructAdapter(Context conte...

它里面可以找到

 else {
                        String displayName;
                        if (s.equals("zz_ZZ")) {
                            displayName = " [Developer] Accented English";
                        }  else {
                            displayName = toTitleCase(l.getDisplayLanguage(l));
                        }
                        if (DEBUG) {
                            Log.v(TAG, "adding "+displayName);
                        }
                       preprocess[finalSize++] = new LocaleInfo(displayName, l);
                    }
以上的代码,显然是把
" [Developer] Accented English" 
赋值给了displayName,然后把它加入到数组preprocess[]里面去,可以获得所加的数组大小其实就是finalSize的值,然后有下面的代码:

        final LocaleInfo[] localeInfos = new LocaleInfo[finalSize -1];
        for (int i = 0; i < finalSize -1; i++) {
            localeInfos[i] = preprocess[i];
			Log.d("pishum","" + preprocess[i]);
        }

把数组preprocess[]放到localeInfos[]数组里面去,由于我打了log,显示的我要去掉的Developer Accented English是在数组的最后一个元素位置,所以我上面的代码是我修改过的,只需要将preprocess[]数组除了最后一个元素全部赋值到数组localeInfos[]就可以了,那个Developer Accented English 的选项自然就会北删除掉

修改设置语言选项,删除 [Developer]Accented English或者增加其他自己喜欢的语种

原文:http://blog.csdn.net/pishum/article/details/19628595

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!