如何根据 android 工作室中的语言更改图片

how to change picture depend on language in android studio

你好

我想帮助我。我是 android Studio 编程的初学者。 我想在Android Studio中传一张“具体图片”,按照phone的默认语言。

例子:我有两张图片,图片1:它有阿拉伯文字。图二:有英文字.

问。我想在语句中使用条件“if”和“else if”?

EX : if(语言是阿拉伯语){传递图片1 } else if(语言是英语){传递图片2 }.....以此类推到多种语言.

有两种方法可以做到这一点:

第一种方式,使用switchcase(效率更高):

yourImageViewID.setImageResource(R.drawable.image_for_other_languages);
switch(Locale.getDefault().getLanguage()) {
    case "ar": {
        //"ar" is the code of the Arabic language
         
    yourImageViewID.setImageResource(R.drawable.arabic_image);
        break;
    }
    case "en": {
        //"en" is the code of the English language
        
    yourImageViewID.setImageResource(R.drawable.english_image);
        break;
    }
}

第二种方式,使用if else(效率较低):

yourImageViewID.setImageResource(R.drawable.image_for_other_languages);
if (Locale.getDefault().getLanguage().equals("ar")) {
    yourImageViewID.setImageResource(R.drawable.arabic_image);
}
else if (Locale.getDefault().getLanguage().equals("en")) {
    yourImageViewID.setImageResource(R.drawable.english_image);
} 

在这两种方式中,yourImageViewIDImageView,不要忘记将 3 张图片添加到您的资产中,一张用于阿拉伯语,另一张用于英语,第三张一种用于其他语言(如果设备语言不是阿拉伯语或英语,将使用),如果您想向应用程序添加更多语言,也可以添加更多图像

您可以通过将每张图片添加到 res\drawable 内的不同语言环境版本来实现。两个版本的图片必须具有相同的名称,以便 Android 系统在检查设备语言时选择合适的图片。

在您的示例中,您的语言环境是英语和阿拉伯语,因此您需要有两个文件夹:

  • \app\src\main\res\drawable-ar\myPicture.png << 阿拉伯语版本
  • \app\src\main\res\drawable-en\myPicture.png <<< 英文版

两张图片名称相同,内容不同,如您所愿