具有不同分辨率的设备上的文本缩放

时间:2016-02-24 01:04:39

标签: java android samsung-mobile text-size

我正在试验2台设备上的文字尺寸:三星Galaxy Avant和三星Galaxy S6。每种规格可在此处找到:

Samsung Galaxy S6

Samsung Galaxy Avant

我使用下面的方法根据值>中的值动态设置图形轴的文本大小。尺寸文件夹,用于适当的屏幕尺寸:

  float axisTextSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.answer_label_text_size), getResources().getDisplayMetrics());
    xAxis.setTextSize(axisTextSize);

我希望两个设备从他们当前正在执行的同一文件夹中提取相同的维度。在值>>中从参考中拉出尺寸。 dimens文件夹,如下所示:

<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">14sp</dimen>
<dimen name="margin_left">80dp</dimen>
<dimen name="margin_bottom">8dp</dimen>
<dimen name="radio_button_answer_text_size">16sp</dimen>
<dimen name="answer_label_text_size">4sp</dimen>
<dimen name="answer_value_label_text_size">8dp</dimen>
<dimen name="vote_count_label_text_size_lower_right">17sp</dimen>
</resources>

现在,我将answer_label_text_size的大小设置为4sp,但每个设备上的大小呈现方式不同。我已经增加和减少4sp以查看会发生什么,并且看起来每增加一次,三星Galaxy S6上的渲染大小远远大于Avant。换句话说,当我将文本大小增加1sp时,结果是Avant增加了1倍,但是在Galaxy S6上增加了3倍。我知道S6的分辨率要高得多,但我并不关心分辨率,只关心设备的实际物理尺寸。为什么会发生这种情况,以及我做错了什么?

0 个答案:

没有答案