Di dimens.xml, saya memiliki:
<dimen name="text_medium">18sp</dimen>
Dalam runtime, saya mendapatkan nilai ini dan mengatur ukuran teks tampilan teks:
int size = context.getResources().getDimensionPixelSize(R.dimen.text_medium);
textView.setTextSize(size).
Pada tablet 10 (1280 x 800), semuanya baik-baik saja; tetapi pada telepon (800 x 480), tampilan teks memiliki font yang sangat besar. Di tablet, ukurannya sama dengan 18; di telepon, itu 27.
Jika saya mengatur ukuran secara manual dengan:
textView.setTextSize(size)
ukurannya normal di kedua perangkat.