关闭

[置顶] 超详细!一步一步完成多语言适配

标签: 多语言多语言适配切换语言
729人阅读 评论(0) 收藏 举报
分类:

多语言适配是工作中经常要用到的,为了怕自己遗忘,也为了大家了解一下多语言适配,写了这篇博客,话不多说-------------开始吧。

多语言适配分三步 : 1,新建values文件   2,Java代码   3,刷新页面


一,新建不同语言的Values文件

第一步,把左边的工作区间切换到project , 找到res文件夹下的values 文件夹 复制 , 粘贴到res文件架下面重新命名
如下图:


点击确定后,在res多出对应文件夹   至于为什么这么命名  过一会解释~
如下图:


colors.xml   和  styles.xml  没有用 删掉

打开两个 strings.xml  新增一条string   方便一会确认


在来个英文的吧     values-en



第一步基本完成   不过顺道把 布局文件做一下简单设置吧

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.q.MainActivity">

    <TextView
        android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/asd"
        android:textSize="40sp"
        />

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        android:text="刷新按钮"
        android:textSize="40sp"/>


</LinearLayout>




二 , Java 代码


Resources resources = getResources();
        //获取系统的配置
        Configuration config = resources.getConfiguration();
        DisplayMetrics dm = resources.getDisplayMetrics();
        //将语言设置成简体中文
        config.locale = Locale.CHINESE;
        resources.updateConfiguration(config, dm);


倒数第二行   Locale.  后面跟的什么语言就是什么语言   如果你新建了中文values-zh-rCN  这个会变成系统默认
换成  Locale.CHINESE   就会变成你一刚开始 系统自带的strings.xml  

换完之后运行一下    发现没有换成自己设置的语言???
为什么呢  ------ 因为没有刷新页面  - - 。

三,刷新页面 

上面的布局文件 里面有个Button记得吗??
在Java代码里面  设置点击事件
里面代码如下


btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, MainActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                startActivity(intent);
                overridePendingTransition(0,0);
            }
        });


跳转动画太难看了  , 我就取消了 变成闪一下的 ------ 

好了  现在运行是不是语言就换了呢  哈哈 

那么现在问题就来了~~~~~~不同语言对应的不同values文件夹应该怎么命名呢?
这是个好问题
详情看下一片博客
88










1
0
查看评论

一步一步的详细步骤在vm虚拟机里安装苹果雪豹系统

如果想体验苹果的雪豹系统又不想实体机安装的话,就试试虚拟机安装吧 折腾了一天,终于把虚拟机搞定了,现在安装了ubuntu和雪豹来体验不一样的系统 安装了一个虚拟的win7的64位系统测试软件 现在把苹果系统的安装过程发来分享,用到的软件都是来源网络 我4g内存分配了2g的虚拟内存,运行苹果还...
  • ldl22847
  • ldl22847
  • 2012-04-22 22:42
  • 2236

一步一步带你完成支付宝支付功能的集成(超详细)

首先说说笔者的集成经历,一开始集成时,像往常一样百度了一下集成的方法,然后出来一大堆结果,以为应该会很简单,然而事实却并非如此。网上的集成方法很多都是旧版本的集成,现在支付宝已经对sdk以及demo进行了更新,虽说和旧版差别不是很大,不过对于不了解整个流程的开发人员来说,确实一个极大的痛苦;当然在集...
  • HeyGoing
  • HeyGoing
  • 2017-05-30 19:41
  • 470

一步一步,从零开始开发asp.net

逐步的记录自己学习.net开发的过程
  • wzj0808
  • wzj0808
  • 2016-12-26 09:17
  • 831

一步一步安装hadoop2.7.1 HA

一步一步安装hadoop2.7.1 HA Hadoop HA高可用架构图: 3台虚拟机节点分部: --不用图形界面 [root@node1 ~]# vi /etc/inittab id:3:initdefault: --linux基本设置 ifconfig 192.16...
  • gdmzlhj1
  • gdmzlhj1
  • 2016-01-08 14:29
  • 624

一步一步学ROP之linux_x86篇

0x00    本文仅解释说明蒸米大神一步一步学ROP之linux_x86篇,读者应先阅读这篇文章,遇到问题再来看我这篇文章。    阅读完这两篇文章后,我们会理解ROP(返回导向编程),DEP(堆栈不可执行),ASLR(内存地址随机化),Stack Prot...
  • jltxgcy
  • jltxgcy
  • 2016-02-19 11:16
  • 2470

一步一步跟我学hadoop(1)----hadoop概述和安装配置

这几年云计算大数据很火,借这个东风,今天开始学习apache的分布式计算框架hadoop,希望不要太落后。 Apache Hadoop是一个在大型集群的商品硬件上运行的应用程序的框架。Hadoop框架透明的提供了应用程序的可靠性和数据访问的方法。Hadoop实现了Map/Reduce计算模型,每个应...
  • wuyinggui10000
  • wuyinggui10000
  • 2015-07-05 23:08
  • 2332

【深入了解cocos2d-x 3.x】一步一步通过ClippingNode实现一个功能完善的跑马灯公告(1)

这篇文章主要是通过一步一步实现一个功能完善的跑马灯公告来展示ClippingNode的用法并且最终深入ClippingNode的源码,了解其实现原理。 首先,先介绍一下ClippingNode,ClippingNode也叫裁剪节点,能将一些内容通过使用模板裁剪出来显示在界面上,可以实现一些很炫酷的效...
  • baijiajie2012
  • baijiajie2012
  • 2015-04-15 13:19
  • 1638

一步一步的打造好用的Vim(图解)

一步一步的打造好用的Vim(图解) 作者:草帽的后花园——小懒虫         转载请注明:草帽的后花园         首先,创建这个文档,是一直都有的想法,有两个原因,一个是为了自己保存,另外一个是希望能带给...
  • backgarden_straw
  • backgarden_straw
  • 2012-09-12 16:06
  • 1233

一步一步学springboot 一

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application dev...
  • u010509052
  • u010509052
  • 2017-04-23 23:12
  • 450

一步一步学编程之Python(一)

在工作中接触过Linux和少许的php,但都没有深入的学习和使用过。现在因为由空闲,而且希望能够通过自己动手帮自己和朋友在电子信息化时代提供一些更多的方便(做一些宣传的小站点或者心血来潮时一些想法能够快速成型),所以打算开始系统的学习一门编程语言。主要考虑的的是PHP Python Ruby。因为是...
  • u012574346
  • u012574346
  • 2013-10-26 08:55
  • 688
    个人资料
    • 访问:29245次
    • 积分:1265
    • 等级:
    • 排名:千里之外
    • 原创:84篇
    • 转载:1篇
    • 译文:0篇
    • 评论:20条
    最新评论