当前位置:   article > 正文

Android实现中英文切换(”傻瓜式“操作)_android 中英文切换

android 中英文切换

        一、配置AndroidManifest文件

二、新建values-en-rUS和values-zh-rCN文件夹,并且在两个文件夹中都新建一个strings.xml文件

 三、values、values-en-rUS和values-zh-rCN文件夹中的strings.xml文件内容如下所示:

四、创建Activity及其布局文件:


一、配置AndroidManifest文件

    将android:configChanges="locale"添加到AndroidManifest文件中,具体如下代码所示:
  1. <application
  2. android:allowBackup="true"
  3. android:icon="@mipmap/ic_launcher"
  4. android:label="@string/app_name"
  5. android:configChanges="locale"
  6. android:roundIcon="@mipmap/ic_launcher_round"
  7. android:supportsRtl="true"
  8. android:theme="@style/Theme.BookAdvancedLight">
  9. <activity android:name=".activities.test.I18nTestActivity"
  10. android:exported="true">
  11. <intent-filter>
  12. <action android:name="android.intent.action.MAIN" />
  13. <category android:name="android.intent.category.LAUNCHER" />
  14. </intent-filter>
  15. </activity>

二、新建values-en-rUS和values-zh-rCN文件夹,并且在两个文件夹中都新建一个strings.xml文件

 三、values、values-en-rUS和values-zh-rCN文件夹中的strings.xml文件内容如下所示:

values  --  strings.xml:

  1. <resources>
  2. <string name="app_name" translatable="false">BookAdvancedLight</string>
  3. <string name="username">username</string>
  4. <string name="password">password</string>
  5. <string name="login">login</string>
  6. <string name="usernameHint">please input username</string>
  7. <string name="passwordHint">please input password</string>
  8. </resources>

values-en-rUS --  strings.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources xmlns:tools="http://schemas.android.com/tools"
  3. tools:ignore="ExtraTranslation">
  4. <string name="username">username</string>
  5. <string name="password">password</string>
  6. <string name="login">login</string>
  7. <string name="usernameHint">please input username</string>
  8. <string name="passwordHint">please input password</string>
  9. </resources>

values-zh-rCN --  strings.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources xmlns:tools="http://schemas.android.com/tools"
  3. tools:ignore="ExtraTranslation">
  4. <string name="username" >用户名</string>
  5. <string name="password">密码</string>
  6. <string name="login">登录</string>
  7. <string name="usernameHint">请输入用户名</string>
  8. <string name="passwordHint">请输入密码</string>
  9. </resources>

四、创建Activity及其布局文件:

Activity文件:

  1. public class I18nTestActivity extends AppCompatActivity {
  2. private Button login;
  3. private ToggleButton translate;
  4. private TextView txtUsername,txtPassword;
  5. private EditText editUsername,editPassword;
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_i18n_test);
  10. InitView();
  11. }
  12. private void InitView() {
  13. login = findViewById(R.id.bt_login);
  14. txtUsername = findViewById(R.id.txt_username);
  15. txtPassword = findViewById(R.id.txt_password);
  16. editUsername = findViewById(R.id.edit_username);
  17. editPassword = findViewById(R.id.edit_password);
  18. translate = findViewById(R.id.toggle_button);
  19. translate.setOnClickListener(new View.OnClickListener() {
  20. @Override
  21. public void onClick(View view) {
  22. String sta= getResources().getConfiguration().locale.getLanguage();
  23. translateText(sta);
  24. }
  25. });
  26. }
  27. public void translateText(String sta){
  28. if (sta.equals("zh")){
  29. Resources resources = this.getResources();// 获得res资源对象
  30. Configuration config = resources.getConfiguration();// 获得设置对象
  31. DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
  32. config.locale = Locale.US; // 英文
  33. resources.updateConfiguration(config, dm);
  34. this.recreate();
  35. }else {
  36. //转换为中文
  37. Resources resources = this.getResources();// 获得res资源对象
  38. Configuration config = resources.getConfiguration();// 获得设置对象
  39. DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
  40. config.locale = Locale.SIMPLIFIED_CHINESE; // 英文
  41. resources.updateConfiguration(config, dm);
  42. this.recreate();
  43. }
  44. }
  45. }

activity.xml 文件:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".activities.test.I18nTestActivity"
  8. android:orientation="vertical">
  9. <LinearLayout
  10. android:layout_width="match_parent"
  11. android:layout_height="80dp"
  12. android:orientation="horizontal">
  13. <TextView
  14. android:id="@+id/txt_username"
  15. android:text="@string/username"
  16. android:gravity="center"
  17. android:layout_width="60dp"
  18. android:layout_height="70dp"
  19. />
  20. <EditText
  21. android:id="@+id/edit_username"
  22. android:layout_width="match_parent"
  23. android:layout_height="70dp"
  24. android:hint="@string/usernameHint"
  25. />
  26. </LinearLayout>
  27. <LinearLayout
  28. android:layout_width="match_parent"
  29. android:layout_height="80dp"
  30. android:orientation="horizontal">
  31. <TextView
  32. android:id="@+id/txt_password"
  33. android:text="@string/password"
  34. android:gravity="center"
  35. android:layout_width="60dp"
  36. android:layout_height="70dp"
  37. />
  38. <EditText
  39. android:id="@+id/edit_password"
  40. android:layout_width="match_parent"
  41. android:layout_height="70dp"
  42. android:hint="@string/passwordHint"
  43. />
  44. </LinearLayout>
  45. <Button
  46. android:id="@+id/bt_login"
  47. android:layout_width="match_parent"
  48. android:layout_height="wrap_content"
  49. android:text="@string/login"/>
  50. <ToggleButton
  51. android:layout_gravity="center"
  52. android:layout_marginTop="10dp"
  53. android:id="@+id/toggle_button"
  54. android:layout_width="wrap_content"
  55. android:layout_height="wrap_content"
  56. android:textOn="中文"
  57. android:textOff="English"
  58. android:textAllCaps="false"/>
  59. </LinearLayout>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/196708
推荐阅读