当前位置: 首页 > news >正文

Android手机字体自适应屏幕大小

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

今天程序折腾了大半天关于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;
    }这样字体自适应问题应该能得以解决的。

转载于:https://my.oschina.net/Android1989/blog/269088

相关文章:

  • 虚拟化之vmware DirectPath I/O
  • 個人資料管理的網頁系統
  • 正则表达式的使用
  • REHL LINUX 配置本地yum源的方法
  • 排序算法整理__参考MoreWindows
  • JavaScript中模块“写法”
  • JavaScript操作XML文档
  • 利用windows批处理文件定时备份数据库
  • LINUX网络编程(TCP)(3)
  • 项目私活 【抢小米手机软件】能够做的朋友,能够联系社区
  • 二进制文件和ASCII文件有何差别
  • 实战6 Nginx的web日志导入到MongoDB数据库
  • dell c1100 安装系统(进入bios、超线程、磁盘阵列等设置方法)
  • FineUI小技巧(1)简单的购物车页面
  • 关于腾讯QQ登录提示“个人文件夹没有读写权限,请修改相应权限后再尝试”的解决方法...
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • exif信息对照
  • js递归,无限分级树形折叠菜单
  • Map集合、散列表、红黑树介绍
  • Odoo domain写法及运用
  • oschina
  • PAT A1092
  • python 学习笔记 - Queue Pipes,进程间通讯
  • spring boot下thymeleaf全局静态变量配置
  • Vue小说阅读器(仿追书神器)
  • Vultr 教程目录
  • 闭包--闭包之tab栏切换(四)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 近期前端发展计划
  • 面试总结JavaScript篇
  • 如何在GitHub上创建个人博客
  • 入门级的git使用指北
  • Hibernate主键生成策略及选择
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $(function(){})与(function($){....})(jQuery)的区别
  • $.ajax,axios,fetch三种ajax请求的区别
  • (09)Hive——CTE 公共表达式
  • (3)STL算法之搜索
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matlab)使用竞争神经网络实现数据聚类
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (八)Spring源码解析:Spring MVC
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 设计模式初探