ใน dimens.xml ฉันมี:
<dimen name="text_medium">18sp</dimen>
ในรันไทม์ฉันได้รับค่านี้และกำหนดขนาดตัวอักษรของมุมมองข้อความ:
int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).
บนแท็บเล็ต 10″ (1280 x 800) ทุกอย่างเรียบร้อย แต่ในโทรศัพท์ (800 x 480) มุมมองข้อความมีแบบอักษรขนาดใหญ่มาก บนแท็บเล็ตขนาดเท่ากับ 18 ในโทรศัพท์มันคือ 27
หากฉันกำหนดขนาดด้วยตนเองโดย:
textView.setTextSize(size)
ขนาดปกติบนอุปกรณ์ทั้งสอง