我在为不同设备缩放文字时遇到问题。我最近在Amazon Web Services Device Farm上运行了应用程序测试,并且看到某些较小的设备从我的values-sw600p文件夹中拉出来时感到震惊。我的文件夹设置如下:
代码行:
mPollAnswerArrayList.get(i).setTextSize(TypedValue.COMPLEX_UNIT_DIP, getResources().getDimension(R.dimen.radio_button_answer_text_size));
sw-600dp文件夹:
<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>
</resources>
以下是我在Google Nexus 5上获得的文字大小的屏幕截图:
&#34;测试答案&#34;文本的大小应与Test Poll Question文本相似。似乎Google Nexus 5正在从我的sw-600dp文件夹中拔出。
在一天结束时,我正在寻找在不同设备上缩放文本大小的最简单方法。我已经读过在setText()方法中设置TypedValue.COMPLEX_UNIT_PX是一种方法,但这种方法似乎也不起作用。另外,我有点困惑,我是否应该在我的维度文件夹中使用SP或DP。