服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - android 使用kotlin 实现点击更换全局语言(中日英切换)

android 使用kotlin 实现点击更换全局语言(中日英切换)

2022-11-07 14:49吃饺子蘸醋吗 Android

这篇文章主要介绍了android kotlin 点击更换全局语言的实现方法,这里主要介绍中日英切换,需要的朋友可以参考下

> 因为我的工作要用kotlin所以今天在这里给大家总结一下关于全局语言切换的kotlin语言实现实现,很简单,希望在这里可以帮助到有需要的同学,下面简单说一下实现步骤,会把运行截图放在最后<

注:在这里我要说一下,我知道kotlin不太普及,如果有的同学需要java版的,可以在通读一遍代码,了解了之后把kotlin转化为java,因为kotlin与java是互通的,代码的一些关键点,java语言该怎么写还怎么写,如果有不明白的可以留言

第一步:简单写一下选择语言的布局就好,会用到点击事件,因为我要用到三种语言,可以Button控件,TextView控件,都可以

第二步:可以看下面截图

1.右键res


android 使用kotlin 实现点击更换全局语言(中日英切换)

2.new–>android resource file


android 使用kotlin 实现点击更换全局语言(中日英切换)

3.输入filename,在下满local选择需要的语言


android 使用kotlin 实现点击更换全局语言(中日英切换)

4.最后像这样,然后在里面输入所需要控件的语言,在xml空间中运用到,比如 android:text=“@strings/定义的名字”,注意这4个string里面所有控件的数量与名字都要相同


android 使用kotlin 实现点击更换全局语言(中日英切换)

第二步:这里要用到CommonUtil工具类,因为kotlin与java是互通的,我把代码写在下面可以直接用

public class CommonUtil {
 public static void configLanguage(Context mContext, String language) {
 Configuration config = mContext.getResources().getConfiguration();
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
 if (language.equals("CHINESE")) {
 config.locale = Locale.SIMPLIFIED_CHINESE;
 } else if (language.equals("ENGLISH")) {
 config.locale = Locale.US;
 } else if(language.equals("JAPANESE")){
 config.locale = Locale.JAPAN;
 }else {
 config.locale = Locale.SIMPLIFIED_CHINESE;
 }
 } else {
 if (language.equals("CHINESE")) {
 config.locale = Locale.CHINESE;
 } else if (language.equals("ENGLISH")) {
 config.locale = Locale.ENGLISH;
 } else if (language.equals("JAPANESE")){
 config.locale = Locale.JAPAN;
 }else {
 config.locale = Locale.CHINESE;
 }
 }
 mContext.getResources().updateConfiguration(config, null);
 }
}

第四步.然后在主页面进行跳转和调用,LanguageActivity就是需要改变控件语言的界面,下面会有activity_language界面代码

override fun onClick(v: View) {
 when(v.id){
 R.id.tvChinese->{
 CommonUtil.configLanguage(this,"CHINESE")
 startActivity<LanguageActivity>()
 }
 R.id.tvEnglish->{
 CommonUtil.configLanguage(this,"ENGLISH")
 startActivity<LanguageActivity>()
 }
 R.id.tvJan->{
 CommonUtil.configLanguage(this,"JAPANESE")
 startActivity<LanguageActivity>()
 }
 }
 }

第五步:activity_language代码

<?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"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text1"
 android:padding="10dp"
 android:textSize="15sp"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text2"
 android:padding="10dp"
 android:textSize="15sp"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text3"
 android:padding="10dp"
 android:textSize="15sp"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text4"
 android:padding="10dp"
 android:textSize="15sp"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text5"
 android:padding="10dp"
 android:textSize="15sp"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="@string/text6"
 android:padding="10dp"
 android:textSize="15sp"
 />
</LinearLayout>

下面可以看一下整个的目录结构


android 使用kotlin 实现点击更换全局语言(中日英切换)

运行截图:


android 使用kotlin 实现点击更换全局语言(中日英切换)android 使用kotlin 实现点击更换全局语言(中日英切换)android 使用kotlin 实现点击更换全局语言(中日英切换)
android 使用kotlin 实现点击更换全局语言(中日英切换)

#####代码地址

总结

以上所述是小编给大家介绍的android 使用kotlin 实现点击更换全局语言,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://blog.csdn.net/weixin_42567731/article/details/103024991

延伸 · 阅读

精彩推荐
  • Androidkotlin gson反序列化默认值失效深入讲解

    kotlin gson反序列化默认值失效深入讲解

    这篇文章主要大家介绍了关于kotlin gson反序列化默认值失效的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价...

    寻找极限的猫6332022-09-08
  • AndroidAndroid实现仿慕课网下拉加载动画

    Android实现仿慕课网下拉加载动画

    这篇文章是我在做动画的项目中整理出来的,在eoe看了篇帖子,然后仿慕课网做了一个下拉加载动画。此功能实现方法是AnimationDrawable类进行 Animation-list中...

    掏富小牛12982021-03-28
  • AndroidAndroid项目中引用本地aar文件的方法

    Android项目中引用本地aar文件的方法

    这篇文章主要介绍了Android项目中引用本地aar文件的方法,本文讲解了什么是aar文件、导出aar文件方法、引用本地的aar文件方法等内容,需要的朋友可以参考下...

    安卓之家9692021-03-19
  • AndroidListview的异步加载性能优化

    Listview的异步加载性能优化

    Android中ListView是使用平率最高的控件之一(GridView跟ListView是兄弟,都是继承AbsListView),ListView优化最有效的无非就是采用ViewHolder来减少频繁的对view查询和...

    Juneor4192021-05-20
  • AndroidAndroid中多个EditText输入效果的解决方式

    Android中多个EditText输入效果的解决方式

    这篇文章主要给大家介绍了关于Android中多个EditText输入效果的解决方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价...

    Android开发架构11322022-09-22
  • AndroidAndroid实现Activity、Service与Broadcaster三大组件之间互相调用的方法详解

    Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法

    这篇文章主要介绍了Android实现Activity、Service与Broadcaster三大组件之间互相调用的方法,结合实例形式详细分析了Activity、Service与Broadcaster三大组件相互调用的...

    Ruthless5392021-06-26
  • AndroidAndroid中的图片优化完全指南

    Android中的图片优化完全指南

    这篇文章主要给大家介绍了关于Android中图片优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    想飞的鱼6952022-08-16
  • AndroidAndroid中Bitmap用法实例分析

    Android中Bitmap用法实例分析

    这篇文章主要介绍了Android中Bitmap用法,结合实例形式分析了Android操作图片的载入、属性设置、旋转等相关技巧,需要的朋友可以参考下...

    马到成功8792021-05-24