我这里用的是阿杜的dpi适配框架,DisplayUtil是常见的单位转换工具类,可自行搜索
TextView .setTextSize()方法传入的是sp值
查看源码
/**
* Set the default text size to the given value, interpreted as "scaled
* pixel" units. This size is adjusted based on the current density and
* user font size preference.
*
* <p>Note: if this TextView has the auto-size feature enabled than this function is no-op.
*
* @param size The scaled pixel size.
*
* @attr ref android.R.styleable#TextView_textSize
*/
翻译:
/**
*将默认文本大小设置为给定值,解释为“缩放”。
*像素“单位”。根据电流密度调整该尺寸。
*用户字体大小优先。
*> P>注意:如果此TabVIEW具有自动大小特性,则此函数为NO-OP。
*@ PARAM大小缩放像素大小。
*@ Atf.REF Android
*/
也就是传入的应该是sp值
所以应该如此使用自己适配后的sp值
tv.setTextSize(DisplayUtil.px2sp(TApplication.getAppResources().getDimension(R.dimen.sp_10)));