#java #android #android-studio #android-layout
Вопрос:
Привет.
Я хочу помочь себе . Я новичок в программировании Android Studio. Я хочу передать «конкретную картинку» в Android Studio в соответствии с языком телефона по умолчанию.
Пример: У меня есть две картинки, картинка 1: на ней написано по-арабски. Рисунок 2: На нем написано по-английски .
В. Я хочу использовать условные обозначения «если» и «иначе, если» в заявлении?
ПРИМЕР : если(язык арабский){передайте изображение 1 } еще если(язык английский){передайте изображение 2 }….. и так далее на несколько языков.
- Пожалуйста, я хочу получить ответ на этот алгоритм.
Комментарии:
1. это не алгоритм, это, как вы сами предлагаете, условный блок «если еще».
Ответ №1:
Вы можете сделать это, добавив каждое изображение в другую версию локали внутри resdrawable
. Обе версии изображений должны иметь одно и то же имя, чтобы система Android могла выбрать подходящее изображение при проверке языка устройства.
В вашем примере ваши языки-английский и арабский, поэтому вам нужно иметь две папки:
appsrcmainresdrawable-armyPicture.png
lt;appsrcmainresdrawable-enmyPicture.png
lt;lt;
Обе картинки имеют одно и то же название, но они отличаются по содержанию, как вам нужно.
Ответ №2:
Есть 2 способа сделать это:
Первый способ, использование switch
и case
( более эффективное ):
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); }
В обоих случаях yourImageViewID
, ImageView
не забудьте добавить 3 изображения в свои ресурсы , одно для арабского языка, другое для английского языка и третье для других языков ( будет использоваться, если язык устройства не арабский или английский), также добавьте больше изображений, если вы хотите добавить больше языков в свое приложение