text_size в поддержке нескольких экранов

Я пытаюсь уменьшить размер текста textview в зависимости от устройства, на котором работает приложение. Однако я не могу заставить его работать.

Я создал папку values-sw320dp (также пробовал values-w320dp) и поместил внутрь файл dimens.xml

<resources>
<dimen name="text_size">25sp</dimen>
</resources>

и мой файл values/dimens.xml содержит

<dimen name="text_size">18sp</dimen>

Я ожидаю загрузить приложение в Nexus One (эмулятор) с разрешением 482 x 320 dp и получить размер текста 18sp. Однако я получаю размер текста 25sp.

Кто-нибудь знает, что происходит?

Спасибо


person Fran    schedule 24.06.2015    source источник


Ответы (4)


Создать папку как values-hdpi

dimens.xml для значений-hdpi

<resources>
<dimen name="text_size">18sp</dimen>
</resources>

И создайте папку как values-xhdpi

dimens.xml для значений-xhdpi

<resources>
<dimen name="text_size">25sp</dimen>
</resources>

И использовать так-

android:textSize="@dimen/text_size"
person Shoeb Siddique    schedule 24.06.2015
comment
values-hdpi устарел в пользу swXXXdp, если я не ошибаюсь - person Fran; 24.06.2015
comment
См. эту ссылку developer.android.com/guide/practices/screens_support.html Ничего, что не рекомендуется на официальном сайте. - person Shoeb Siddique; 24.06.2015

Я использую values-hdpi, values-mdpi, values-ldpi, values-xlarge

person Neal Ahluvalia    schedule 24.06.2015
comment
Они устарели в пользу swXXXdp, не так ли? - person Fran; 24.06.2015

Создайте папку как values-sw600dp и values-sw720dp в папке res.

dimens.xml для значений-sw600dp

<resources>
<dimen name="text_size">4sp</dimen>
</resources>

dimens.xml для значений-sw720dp

<resources>
<dimen name="text_size">6sp</dimen>
</resources>
person kalidoss rajendran    schedule 24.06.2015
comment
Это не имеет смысла в отношении вопроса - person Fran; 24.06.2015

Nexus One имеет размер 480 x 800, поэтому попробуйте values-sw360dp

person Igor Bykov    schedule 24.06.2015
comment
Почему sw360dp? 480 x 800px эквивалентно 320 x 482 dp, тогда sw320dp должно быть достаточно - person Fran; 24.06.2015