2015-08-22 2 views
-1

Я создаю простое приложение для показа уведомлений. Я хочу большой шрифт на больших устройствах и небольших шрифтах на небольших устройствах. Пожалуйста помоги.Как установить шрифт для разных устройств

Ниже снимок экрана планшета ДПИ - 213 enter image description here

После снимок экрана Moto G3 телефона имеют точек на дюйм - 320

enter image description here

+1

какой блок вы используете для текста? –

+0

Знаете ли вы, что вы должны использовать ** sp ** для размеров текста? –

+0

Вот для чего нужны размеры? –

ответ

1

Вам нужно создать другую папку значения в соответствии требуется размеры и разрешение экрана и положить 'dimens.xml' файл в каждой папке.

Например:

Для ИПЧРА Device- вам нужно создать папку с таким именем

"values-sw320dp-hdpi" under this folder put "dimens.xml" 

Для большого ИПЧРА Device- вам нужно создать папку с таким именем

"values-large-hdpi-1024x600" under this folder put "dimens.xml" 

Для устройства MDPI вам необходимо создать папку с этим именем

"values-sw320dp-mdpi" under this folder put "dimens.xml" 

Аналогичным образом вы можете создавать папки с различными значениями для других устройств также под «res».

Теперь, что делать дальше и как это работает:

Say, вы TextView определены в вашем XML и нужны разные размеры шрифтов на разных устройствах:

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:textSize="@dimen/textSize" // This is the important line 
android:text="Hello"/> 

Теперь здесь 'Файл размера dimens.xml'. Вам необходимо указать другое значение по размерам «TextSize» под различными размерами экрана dimens.xml WRT и разрешение

Например:

Для ИПЧР устройства: Рез> значения-sw320dp-ИПЧР>dimens.xml

<dimen name="textSize">19sp</dimen> // Setting size of Text for HDPI devices 

Для MDPI устройства: разреш> значения-sw320dp-MDPI>dimens.xml

<dimen name="textSize">15sp</dimen> // Setting size of Text for MDPI devices 

Аналогичным образом вы можете определить размеры для другого экрана.

+0

Спасибо, Есть ли способ отображать приложение такого же размера на всех размерах экрана с записью минимального кода. я не хочу писать размеры для всех экранов –

0

Вы должны использовать стили, тогда вы можете иметь отдельные значения «значений» (по умолчанию) «values-hdpi» (высокая плотность) «values-mdpi» (средняя плотность) и т. Д. И поместить свой файл стиля с правильным текстом значения в каждой папке по мере необходимости.

Тогда, когда вы находитесь в устройстве средней плотности будет выбрать файл в папке «значения-MDPI», если существует или «ценности», если нет, и то же самое для высокой плотности и т.д. ...

Этих тот же принцип применяется к подпапкам al "res"

Смежные вопросы