Изменить textSize с другим языковым языком

Я добавил испанский и французский к моему приложению, но некоторые из формулировок длиннее на испанском, а затем на английском. Как я могу изменить текст, когда доступен файл values-es / string.xml

Для этой цели вы можете использовать dimens.xml ресурсов dimens.xml . В вашем случае вы, вероятно, захотите создать файл с именем res/values-es/dimens.xml и, возможно, также с версией -fr . Вы можете указать значения по умолчанию в res/values/dimens.xml (или res/values-en/dimens.xml , если хотите быть более конкретным).

Пример, взятый из раздела Дополнительные типы ресурсов на сайте developer.android.com:

dimens.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="textview_height">25dp</dimen> <dimen name="textview_width">150dp</dimen> <dimen name="ball_radius">30dp</dimen> <dimen name="font_size">16sp</dimen> </resources> 

Подать заявку в xml

 <TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/> 

Или в коде

 float fontSize = getResources().getDimension(R.dimen.font_size); 

В SO также есть решения, которые используют итеративный / рекурсивный процесс, чтобы уменьшить размер текста TextView до «fit» в его ограничивающей рамке (с использованием пользовательского представления), но я бы сказал выше, это более надежный подход, особенно Если вы планируете добавить больше языков в будущем.

Вам нужно будет указать другой макет в макетах. Таким образом, когда Android тянет с values-es / string.xml, он загрузит различные layout-es / yourfile.xml. Затем этот файл макета может указать тему, стиль или размер текста в представлениях.

Вышеприведенные объяснения верны, но они не полностью объясняют, как это сделать.

Когда вы открываете свой проект в Android Studio, он автоматически показывает этот проект в режиме « Android ». Вам нужно нажать на вкладку «Android» в верхнем левом углу Android Studio и выбрать « Проект ». Затем вам нужно перейти в « app> src> main> res ». Затем вам нужно щелкнуть правой кнопкой мыши по папке « res » и в появившемся меню выбрать « Новый> каталог ресурсов Android ». Появится диалог, а для имени каталога: введите значения и нажмите OK .

Это создаст папку для всех значений испанского языка. Затем вы можете щелкнуть правой кнопкой мыши эту папку values-es, чтобы создать dimens.xml , string.xml , color.xml , … и т. Д. Файлы, которые будут использоваться всякий раз, когда в телефоне выбран Испанский язык.

Если вы уже создали файл string.xml для Spanish Locale через графический интерфейс пользователя, тогда папка values-es с файлом string.xml уже будет в проекте, когда вы туда поедете. И в этом случае вам просто нужно щелкнуть правой кнопкой мыши по папке значений-es, чтобы создать файл dimens.xml для Spanish Locale.