我最近在AWS设备服务器场上运行了一些测试,并且发现我的文本大小没有适当缩放,我感到震惊。
目前,我的文字大小有不同的文件夹:
values
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="center_indentation">80dp</dimen>
<dimen name="poll_question_text_size">14dp</dimen>
<dimen name="margin_left">80dp</dimen>
<dimen name="margin_bottom">8dp</dimen>
<dimen name="radio_button_answer_text_size">12dp</dimen>
<dimen name="answer_label_text_size">6dp</dimen>
<dimen name="answer_value_label_text_size">8dp</dimen>
<dimen name="vote_count_label_text_size">11dp</dimen>
values-sw600dp
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="center_indentation">80dp</dimen>
<dimen name="poll_question_text_size">22dp</dimen>
<dimen name="margin_left">160dp</dimen>
<dimen name="radio_button_answer_text_size">14dp</dimen>
<dimen name="margin_bottom">16dp</dimen>
<dimen name="answer_label_text_size">9dp</dimen>
<dimen name="answer_value_label_text_size">10dp</dimen>
<dimen name="vote_count_label_text_size">13dp</dimen>
values-sw720dp
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="center_indentation">80dp</dimen>
<dimen name="poll_question_text_size">30dp</dimen>
<dimen name="margin_left">185dp</dimen>
<dimen name="margin_bottom">20dp</dimen>
<dimen name="radio_button_answer_text_size">18dp</dimen>
<dimen name="answer_label_text_size">10dp</dimen>
<dimen name="answer_value_label_text_size">12dp</dimen>
<dimen name="vote_count_label_text_size">14dp</dimen>
在每个文件夹中,我创建一个dimens.xml文件,用于为给定的屏幕提取相应的文本大小。
我访问了位于here的设备指标网站,发现该网站专门查看了Google Nexus 5.看来我运行模拟器后的Nexus 5正在从我的sw600dp文件夹中拔出。我不确定为什么,它产生的文字大小我希望在7英寸平板电脑而不是4.5英寸手持设备上看到。
我已经在StackOverflow上阅读了无数帖子,但找不到任何方法来正确地考虑所有设备。我知道有6“,7”,8“,9”和10“设备,我想确保我考虑到每种尺寸。
以下是我的文字查找Google Nexus 5的方式,请注意我指的是radio_button_ansewr_text_size项目:
答案 0 :(得分:1)
指定文字大小时,请始终使用 sp :
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp" />
或
<dimen name="text_size">13sp</dimen>
http://developer.android.com/training/multiscreen/screendensities.html
如果您需要在java代码中设置文本大小,请这样做:
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);