2015-12-17 2 views
0

Я сохранил свой размер шрифта как 16sp. Однако, когда я изменяю размер шрифта устройства, размер шрифта EditText также изменяется. Я пытался использовать dp вместо sp, который работал, но я сомневаюсь, что он будет хорошо работать на разных экранах. Как сохранить постоянный размер шрифта, используя sp в качестве устройства независимо от размера шрифта устройства и плотности экрана?Как сохранить размер шрифта постоянным независимо от размера шрифта устройства или плотности экрана

+0

Используйте 'px'. Не рекомендуется, но отпустите его. – asadmshah

+0

Почему вы сомневаетесь, что 'dp' будет работать? Это сохранит текст того же размера, независимо от плотности пикселя устройства, и будет игнорировать настройку размера шрифта пользователя. @asadmshah - использование 'px' будет давать разные фактические размеры при разных плотностях экрана, что-то OP не хочет (по крайней мере, так я читаю вопрос). –

+0

@TedHopp Не изменяет ли размер 'dp' на основе плотности пикселей? 'px' является постоянным и ничего не учитывает, поэтому его не рекомендуется. – asadmshah

ответ

1

Вы должны использовать dp. Единственная разница между dp и sp заключается в том, что dp проигнорирует настройку размера текста пользователя для устройства. Результатом будет то, что размер шрифта, измеренный в реальных единицах (точки, дюймы и т. Д.), Будет одинаковым на всех устройствах, независимо от плотности пикселей.

Обратите внимание, что размер экрана никогда не влияет на это. Если вы хотите, чтобы размер текста определялся с точки зрения определенной доли размера экрана (например, ширины), для поддержки этого не существует встроенной системы Android. Вам придется либо делать расчет в коде (учитывая размер экрана в пикселях и плотность пикселей), либо определять размер, используя альтернативные ресурсы для разных размеров экрана.

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