今天有人问我,android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的。

一、

原理如下:

假设需要适应320x240,480x320分辨率。在res目录下新建文件夹values-320x240, values-480x320。然后在文件夹 values ,values-320x240 和  values-480x320 下新建xml文件dimens.xml,该xml文件内容如下:

vaules-320x240下的dimens.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources><dimen name="btnTextSize">18sp</dimen>
</resources>

values-480x320 下的dimens.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources><dimen name="btnTextSize">18sp</dimen>
</resources>

针对不同分辨率的手机,android系统会自动适配加载相应文件中的字体的大小值, btnTextSize的值是不同的。在布局文件中引用的方式如下:

<TextView android:layout_width="fill_parent"android:layout_height="wrap_content" android:gravity="center"android:id="@+id/lblSet" style="@style/btntext" android:textSize="@dimen/btnTextSize">
</TextView>

在java文件中这样调用:

int size= (int)this.getResources().getDimension(R.dimen.Text_size);

通过这种方法,可以方便设置在不同分辨率下,字体的大小了。当然,不仅仅字体大小,宽和高等其他的一些属性,也可以通过类似的方式来设置!

二、

1. 在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率 
   rate = (float) w/320   w是实际宽度 
2.然后在设置字体尺寸时 paint.setTextSize((int)(8*rate));   8是在分辨率宽为320 下需要设置的字体大小 
  实际字体大小 = 默认字体大小 x  rate

<TextView  android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"android:textSize="@dimen/Text_size"/>

布局多分辨率适配 :

技术咨询:请关注微信订阅号,微信名:非著名程序员,微信号:smart_android

Android字体大小怎么自适应不同分辨率?相关推荐

  1. android 字体大小换算,Android单位换算与UI适配

    一,pt.px.屏幕尺寸.分辨率及ppi关系与单位换算 pt(point):磅,一个标准的固定长度单位,大小为1/72英寸. 主要用于印刷和平面设计 1inch = 2.54cm = 72pt px( ...

  2. android字体大小根据分辨率自动调整

    手机设备太多,分辨率也不一样,看到网上大部分的适应字体的方法是定义values320×480或value-hdpi方式去处理.  采用第一种的就惨了,很多设备的分辨率是不一样的,难道要每种都定义吗?  ...

  3. Android 字体大小(fontScale)不随系统设置变化

    需求 部分用户将系统字体大小设置的非常大,导致APP的文字大小显示异常. 想要实现的效果是,APP内字体大小不随系统设置的 "字体大小" 变化. 原始效果 系统的字体大小设置为&q ...

  4. android 字体大小属于什么类型,聊聊 Android 中的字体大小适配

    本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布 前言 虽然去年写的一篇文章[一种非常好用的Android屏幕适配]就包含字体大小适配,但那篇文章讲的是根据不同屏幕尺寸来适配字体大小的 ...

  5. java操作图片-一行字符串字体大小尺寸自适应

    需求:java处理图片,向图片中添加文字 ,只让文字显示一行 ,不允许换行,让输入的文字,限定在图片宽度内. 解决:每次Graphics2D.setFont()后,可以通过Graphics2D.get ...

  6. html字大小自适应,html字体大小自适应 怎样让HTML字体自适应到移动端?

    如何设置 中的字体大小随 height变化而自 first line html如何实现字体大小的自适应字体的单位用百分比即可. html页面怎样能够自适应电脑屏幕宽度? 在1024*768或者800* ...

  7. Android中,字体大小自适应不同分辨率,以及注意事项

    今天有人问我, Android系统不同分辨率,不同大小的手机,字体大小怎么去适应呢?其实字体的适应和图片的适应是一个道理的. 一. 原理如下: 假设需要适应320x240,480x320分辨率.在re ...

  8. android app 适应不同大小屏幕_Android UI自适应不同分辨率屏幕2套解决方案

    当我们谈论Android UI自适应不同分辨率屏幕的时候,先来回顾下25学堂之前写的<Android APPUI设计师必知:pt sp dp之间的关系>相关单位的知识. 如果不明白的,我们 ...

  9. 字体大小自适应屏幕分辨率 CSS解决方案

    字体大小自适应屏幕分辨率 CSS解决方案 参考文章: (1)字体大小自适应屏幕分辨率 CSS解决方案 (2)https://www.cnblogs.com/love0618/p/4020752.htm ...

最新文章

  1. 2022-2028年中国数字化档案加工行业市场深度分析及发展策略分析报告
  2. android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)
  3. 6 关于数据仓库维度数据处理的方法探究系列——缓慢变化维处理——记录最新记录及上一次历史...
  4. 基于TableStore的数据采集分析系统介绍
  5. ssh遇到port 22:No route to host问题的解决方法
  6. 理解 java 中常用数据结构
  7. react实现svg实线、虚线、方形进度条
  8. 微x怎么设置主题_红人堂:抖音直播预告文案怎么写?5个小技巧提高你的文案吸引力!...
  9. js中的四舍五入函数
  10. 开滦二中2021高考成绩查询,2021唐山中考录取分数线查询
  11. autojs 如何获取控件的desc_owchart教程三:如何添加成交量?
  12. matlab数字带通滤波器的设计,基于MATLAB的数字带通FIR滤波器设计.doc
  13. 【会议记录】软件工程课程设计第一次会议
  14. oracle mysql 推荐书籍
  15. Java使用qq邮箱发送email
  16. python编程加减法_python编程题关于二进制加减法运算解析
  17. win7计算机管理没有键盘,win7系统中出现键盘无法输入的详细解决步骤
  18. 大数据预测房价湖北暂未实施
  19. KDD CUP 99 数据集解析、挖掘与下载
  20. html如何将图片弄成背景,如何用css把图片弄成背景

热门文章

  1. pandas是基于什么的python库_Python的五大常用库——numpy,pandas,matplotlib等
  2. requests+re模块爬取豆瓣排行版电影和图片保存至本地
  3. 用Scrapy爬取王者皮肤海报~
  4. Mac 10.12安装飞鸽传书IPMessager
  5. 对我影响最大的三位老师
  6. 关于RC移相电路的知识点
  7. android播放器可点击列表,Android上是否有任何播放器可以支持播放列表中的本地视频并可以预设播放顺序?...
  8. 【无代码体验】 鲸智搭实现安全巡检管理系统
  9. ASCII字符表(包含所有控制符)
  10. 陈天奇slide学习笔记