Intereting Posts
Как получить ascender / descender и высоту x для заданного шрифта Вернитесь к определенной деятельности Как создать дизайн материала, например, обычную полосу прокрутки с цифрами и буквенными буквами в recylerview Запуск службы от BroadcastReceiver ImageView не будет показывать изображение при установке setImageBitmap () Повторное использование Google Map v2 для нескольких фрагментов в одной активности Android ClickableSpan перехватывает событие click Не удается запустить панель действий Android 4.0 Split Action Что произойдет, если я использую один и тот же идентификатор для нескольких виджетов в разных макетах? Android – FFmpeg Альтернатива для получения видеокадров. (Из-за лицензирования) Принуждение эмулятора Android для хранения изменений в / system Отключить проверку орфографии по именам полей в Android Studio Android различной ширины макетов в ViewPager Android: отключите ленивую загрузку списка Как получить токен доступа пользователя facebook в android?

Разный размер текста для разных аппаратных средств

У меня есть текстовый макет редактирования, как показано ниже, и я хочу знать, есть ли способ предоставить ему различные размеры для разных аппаратных средств в зависимости от размера экрана? Для экранов ниже 4 дюймов я хочу дать приведенную ниже схему

<EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background" android:textColor="#800080" android:text="" android:hint=" No Operator Precednce yet" android:cursorVisible="false" android:textSize="40dip" /> 

А затем для других

  <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background" android:textColor="#800080" android:text="" android:hint=" No Operator Precednce yet" android:cursorVisible="false" android:textSize="30dip" /> 

Solutions Collecting From Web of "Разный размер текста для разных аппаратных средств"

Создание папок в / res для

расположение

Макет-мал

раскладка нормальный

макета большой

макета XLarge

Затем создайте файл макета для каждого макета, android выберет правильный вариант во время выполнения. Поэтому вы можете изменить полный макет для каждого экрана.

Если вы действительно хотите установить размер, вы можете создать эти папки

значения

Значения-малые

Значения-нормальные

Значения-большие

Значения-XLarge

Затем поместите dimen.xml в каждую из этих папок следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<dimen name="textSizeLarge">22dp</dimen>

</resources>

Просто измените значение (22dp) в каждом XML-файле.

Затем замените свое значение на

android:textSize="@dimen/textSizeXtraSmall"

Очень хорошая документация: http://developer.android.com/guide/practices/screens_support.html

Если вы используете <dimen> зависимым от конфигурации образом, вы переопределите размер по умолчанию для всех устройств (22dp для меньшего, 40dp для более крупных устройств). Если вы хотите оставить textSize по умолчанию для более мелких устройств и только переопределить его для более крупных устройств, вы можете использовать стили:

Рез / значения / styles.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="EditText" /> </resources> 

RES / значение-большой / styles.xml:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="EditText" > <item name="android:textSize">40sp</item> </style> </resources> 

И в макете:

 <TextView style="@style/EditText" ... /> 

Таким образом, textSize остается нетронутым для более мелких устройств, и используется значение по умолчанию из текущей темы.

EDIT – лучший способ сделать это – определить размеры текста в виде размера и варьировать размеры в зависимости от того, на каком оборудовании вы нацеливаетесь, поместив разные значения в файл dimens.xml в разные dpi (ldpi, mdpi, hdpi и т. Д.), Ведро.

Старый (правильный, но не большой) ответ

2 способа сделать это:

  1. Удалить определение из XML и установить размер текста программно

     ((EditText) findViewById(R.id.entry)).setTextSize(TypedValue.COMPLEX_UNIT_DIP, 40) 
  2. Реализовать различные макеты для разных размеров экрана – это будет связано с тем, что вы пишете новый макет xml для каждого из разных размеров экрана, которые вы поддерживаете в своем приложении.