Android N上语言列表与N之前有很大变化,进入语言列表,可看到如图1所示,图中上面的框框是系统用户所选择的语言(Android N上用户可以选择好几种语言,排在第一个是系统的语言),下面的框框是一个添加语言的按钮,点击之后可以去添加语言,点击之后会进入一个语言列表供选择添加,所图2所示,这个列表中分成两部分,上面部分"Suggested", 下面部分是"All Languages".出现在"Suggested"中的language点击之后会直接加到用户选择的语言去(放在最末尾),"All Languages"中的点击之后会将讲这种语言的所以国家列出来,选择国家之后会将这种语言加到用户语言列表中去。
                        图1                                                                                       图2  
[SOLUTION]
1. 点击"Add a Language", 哪些语言会出现在"Suggested"中, 哪些会出现在"All Languages"中?
        出现在"Suggested"中的language需要满足以下两个条件:
        (1)必须是配置文件中配置的语言。如device\mediatek\aubest52\full_aubest52.mk中PRODUCT_LOCALES所配置的语言。
        (2)出现在"Suggested"中的语言的国家要与所插的sim卡所属的国家相同(如有插入sim卡的话)或者与系统语言(用户语言列表中的排第一个的语言)的国家相同。
        其余的系统支持的语言会出现在"All Languages"中。这里系统支持的语言是由/frameworks/base/core/java/com/android/internal/app/LocalePicker.java的getSupportedLocales()函数获取,对应的在/frameworks/base/core/res/res/values/locale_config.xml下. 所以,如果列表中如果不想出现这么多语言,可以去修改locale_config.xml,将不想要的语言都去掉。
        eg. 用户语言列表中从上到下依次为en_US, fa_IR, 插入中国联通sim卡,配置文件中配置的语言为PRODUCT_LOCALES=en_US en_GB es_US zh_CN zh_TW, 那点击“Add a Language”之后"Suggested"中出现的就是es_US, zh_CN(去PRODUCT_LOCALES中去选,es_US国家为US, 与系统语言en_US国家相同,所以入选, zh_CN国家为CN, 与中国联通卡所属国家相同,所以入选, en_US未入选因为已经在用户语言列表). 
 
 
2. 系统语言设置为配置文件中没有配置的语言,resource该如何选择?
        (1)系统的apk不会使用这种语言的resource来显示,它会从用户语言列表中从上往下遍历,从中找到第一个是在配置文件中配置过的语言,如果没有,就使用en.
        (2)三方apk如果有这种语言对应的resource, 则会使用, 如果没有,会从用户语言列表中从上往下遍历,从中找到第一个是在配置文件中配置过的语言,如果没找到,就使用en.
 
3. Android N上resource的选择与N之前有哪些不同?
            请参考下图。

Android N上语言列表相关推荐

  1. Android系统语言列表

    一般情况 Android系统语言的配置项文件一般在./device/xxx/xxx.mk文件中进行配置 具体的语句是类似下面这行 PRODUCT_LOCALES := en_US 如果有多种语言,可以 ...

  2. android语言列表+波斯,Android 多语言入门及实战

    右键res,选择 New Resource Directory ,选择 locale ,选择自己想要适配的语言类型 设置应用内多语言 Android 7.0以下 /** * 设置多语言 */ publ ...

  3. android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表

    在Android 11上,我们可以看到很多的更新都是用来保护隐私的,如果你的app 在使用PackageManger的方法来获取安装的应用列表, 那么在Android11上,就需要做一点改变了. 我们 ...

  4. 安卓运行c语言程序,在Android系统上运行C/C++程序

    1. 安装NDK: 2. 编写hello.c源文件 #include int main() { printf("hello, arm c world!\n"); return 0; ...

  5. Android 12上焕然一新的小组件

    /   今日科技快讯   / 近日,电动汽车制造商特斯拉公布了2021年第三季度财报.财报显示,特斯拉第三季度营收137.6亿美元,同比增长57%:净利润16.2亿美元,同比增长389%:每股收益1. ...

  6. Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  7. Android 12上焕然一新的小组件:美观、便捷和实用

    Google IO 2021上重磅介绍的Android 12,号称历代设计变化最大的版本.其全新的Material You设计语言.流畅的动画特效再到焕然一新的小组件,都令人印象深刻.本文将聚焦小组件 ...

  8. [转]Android github上优秀开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  9. Freeline - Android平台上的秒级编译方案

    Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ...

最新文章

  1. 植物根际微生物组也有昼夜节律
  2. object转换成xml
  3. Settings(系统设置app)
  4. 基于DataTables实现根据每个用户动态显示隐藏列,可排序
  5. 一个简单的jQuery例子,动态添加表格和删除
  6. js 导出pdf上传至oss_js实现oss文件上传及一些问题
  7. 麦克纳姆轮全向移动机器人运动学模型应用
  8. cmd查看所有数据库 db2_DB2常用命令
  9. Java中常见的几种数组排序方法
  10. 网页中常说的‘焦点’是什么意思
  11. CSS实现导航条图片的翻转菜单
  12. python爬虫能爬取微信密码吗_爬虫如何爬取微信公众号文章
  13. matlab中f分布,在matlab中用哪个函数求F分布的分位点(分子分母的自由度和概率均已知)...
  14. win+D无法回到桌面
  15. 家用 NAS 服务器(1)| 配置选择及准备
  16. 医院信息管理系统源码 HIS系统源码
  17. python整数反转倒置
  18. 如何修改Linux服务器时间
  19. Unity3D 动态加载本地/网络GLB模型
  20. [转]词根词缀记单词3-主讲victor老师

热门文章

  1. easypoi一对多,合并单元格,并且根据内容自适应行高
  2. Transformer通俗讲解
  3. github Android优秀项目源码
  4. python壁纸超清全面屏_这一定是你见过最全面的python重点
  5. 严格对角占优矩阵特征值_严格对角占优矩阵与SOR迭代法的收敛性定理.pdf
  6. 网格化大数据融合服务平台建设方案(ppt)
  7. DDD(六)【领域事件与事件总线】
  8. HP ZBook G8 CPU温度高,风扇狂转解决办法
  9. [C] 三、回调结构体
  10. 《新相亲大会》引发婚恋观讨论,珍爱网传递正向情感价值观