> ; > ;_androidstudio如何strings.xml进行换行">
当前位置:   article > 正文

Android Studio的代码笔记--strings.xml输入空格换行、中英文多语言切换_androidstudio如何strings.xml进行换行

androidstudio如何strings.xml进行换行

转义字符

android的字符串一般会存到strings.xml,直接输入空格,回车等无效,需要用转义字符,常用如

字符Value
换行\n
缩进\t
空格&#160 ;
"&#34 ; &quot ;
&#39 ; &apos ;
&&#38 ; &amp ;
<&#60 ; &lt ;
>&#62 ; &gt ;

其中的分号前面空格是没有的,例如
在这里插入图片描述

中英文切换

新建English的strings.xml

先创建values-en的包,在创建用来放英文的strings。

右击res,New一个Android Resource Directory
在这里插入图片描述

将Locale选中>>

在这里插入图片描述
选择自己需要的语言,我选的是en:English,不进行选择细分选项,根据个人需要,得到en
在这里插入图片描述点击ok生成values-en的空包
在这里插入图片描述
右击New一个Values resource file
在这里插入图片描述命名为strings.xml

在这里插入图片描述
得到如图,只需要按照键值对形式添加即可
在这里插入图片描述

新建English的strings.xml

同理右击res,New一个Android Resource Directory,将Locale选中>>选择自己需要的语言,我选的是zh:Chinese,不进行选择细分选项即区分简体繁体等,根据个人需要,得到zh。点击ok生成values-zh的空包
在这里插入图片描述右击New一个Values resource file,命名为strings.xml,得到如图,只需要按照键值对形式添加即可
在这里插入图片描述

默认语言

设备的配置文件中会有默认设置语言,可以进行修改,当默认设置语言为英文而又没有values-en的包中的string,就会使用values下的strings。
在这里插入图片描述
查看本机默认语言为en,需要修改默认中文则到 system/build.prop进行修改en为zh即可

root@xxxx:/ # getprop ro.product.locale.language
en
root@xxxx:/ # getprop |grep language
[ro.product.locale.language]: [en]
root@xxxx:/ #

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

一键切换中英文

bt_1设置中文按键,bt_2设置英文按键,

		bt_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i(TAG, "获取当前语言: " + getResources().getConfiguration().locale.getLanguage());
                if (getResources().getConfiguration().locale.getLanguage().equals("en")) {
                    tag_Language=1;
                    Locale.setDefault(Locale.CHINESE);
                    Configuration config = getBaseContext().getResources().getConfiguration();
                    config.locale = Locale.CHINESE;
                    getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
                    recreate();
                    Toast.makeText(SystemSetMain.this, "" + getResources().getConfiguration().locale.getLanguage(), Toast.LENGTH_SHORT).show();
                }else{
                    tag_Language=0;
                }
            }
        });
        bt_2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i(TAG, "获取当前语言: " + getResources().getConfiguration().locale.getLanguage());
                if (getResources().getConfiguration().locale.getLanguage().equals("zh")) {
                    tag_Language=1;
                    Log.i(TAG, "onClick: english");
                    Locale.setDefault(Locale.ENGLISH);
                    Configuration config = getBaseContext().getResources().getConfiguration();
                    config.locale = Locale.ENGLISH;
                    getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
                    recreate();
                    Toast.makeText(SystemSetMain.this, "" + getResources().getConfiguration().locale.getLanguage(), Toast.LENGTH_SHORT).show();
                }else{
                    tag_Language=0;
                }
            }
        });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

recreate();是刷新界面,因为生效语言设置需要。

欢迎指错,一起学习

推荐文章: Android 语言切换要点

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/174025
推荐阅读
相关标签
  

闽ICP备14008679号