2012-02-10 3 views
0

Когда я тестировал размер шрифта с различными настройками плотности с помощью Eclipse Emulator, я получаю шрифты разных размеров, хотя я использую «dp» для определенного размера. Я бы подумал, что размер может уменьшаться с большей плотностью, но я обнаружил, что чем выше плотность, тем больше шрифт. Я пробовал использовать «in» и «mm», и происходит такое же поведение, поскольку чем выше плотность, тем больше шрифтов. Это основано на android: minSdkVersion = "10".Размер шрифта для разных устройств плотности

Есть ли способ установить размер шрифта для масштабирования на тот же размер для различной плотности?

Вот файл XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="20dp" 
    android:layout_gravity="center" 
    android:textColor="@color/orange" 
    android:textStyle="bold" 
    android:text="THIS IS A TEST" 
    android:background="@color/white"/> 
</LinearLayout> 

К сожалению, я не могу отправить образа размера шрифта для трех настроек эмулятора из-за отсутствие репутации.

спасибо.

ответ

1

У меня была такая же проблема ... И did't нашел ничего, но делает папки: макет-маленький ... большой, XLarge и папки с изображениями рисуемых для высоких, средних и малых плотностей с разрешением изображений в соответствии с ним ... Итак, все работает хорошо на разных дроидах с разными экранами ... Для каждого размера экрана есть макет с различными значениями dp ... ((

+1

Я решил используйте значения-hdpi, values-xdhpi для управления моим размером шрифта для разных плотностей. Как и вы, я не могу найти более легкое решение. –

1

Использование зр вместо дп

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="20sp" 
    android:layout_gravity="center" 
    android:textColor="@color/orange" 
    android:textStyle="bold" 
    android:text="THIS IS A TEST" 
    android:background="@color/white"/> 

</LinearLayout> 
+0

Я попробовал это, а размер шрифта увеличился по мере увеличения плотности. В моем случае он ведет себя так же, как и dp. Является ли это проблемой масштабирования с эмуляторами или же устройства ведут себя так же? –

+2

Возможно, вы могли бы попытаться ссылаться на значения в xml-файле и помещать их в файлы, которые представляют разные размеры экрана. http://developer.android.com/guide/topics/resources/providing-resources.html – FabianCook

0

Я думаю, один из способов:

Когда вы делаете новый l В файле ayout есть следующая кнопка в eclipse. Нажмите это, и есть список, где можно выбрать плотность макета. Вы можете выбрать плотность x-high, высокую плотность, среднюю плотность и т. Д. Когда вы нажимаете финиш, она делает макетную папку как «layout-hdpi» (зависит от того, какую плотность вы выбираете). А затем сделайте текст подходящим для этой плотности.

Надеюсь, что это поможет. :)

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