今天程序折腾了大半天关于andorid手机字体自适应的问题,网上也查了很多资料,但是效果都非常不好。 最后好不容易找到一个适配方法,发个帖子分享下经验吧。 首先我们要给先调用TextView 的setTextSize(int unit, int size) 这个方法. 其中第一个参数可设置如下静态变量:TypedValue.COMPLEX_UNIT_PX : Pixels //像素 TypedValue.COMPLEX_UNIT_SP : Scaled Pixels //sp TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels //dip我建议传入像素属性,因为根据效果图来做的话一般很容易能截取到像素的 之后我们在size这边传入 textsize是字体的像素 public static int getFontSize(Context context, int textSize) { DisplayMetrics dm = new DisplayMetrics(); WindowManager windowManager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); windowManager.getDefaultDisplay().getMetrics(dm); int screenHeight = dm.heightPixels; // screenWidth = screenWidth > screenHeight ? screenWidth : // screenHeight; int rate = (int) (textSize * (float) screenHeight / 1280); return rate; }这样字体自适应问题应该能得以解决的。 |
Android控制字体大小
最新推荐文章于 2023-12-01 16:43:22 发布