1. 1.获取当前设备的屏幕大小
  2. DisplayMetrics displayMetrics = new DisplayMetrics();
  3. this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
  4. 2.计算与你开发时设定的屏幕大小的纵横比(这里假设你开发时定的屏幕大小是480*800)
  5. int screenWidth = displayMetrics.widthPixels;
  6. int screenHeight = displayMetrics.heightPixels;
  7. float ratioWidth = (float)screenWidth / 480;
  8. float ratioHeight = (float)screenHeight / 800;
  9. RATIO = Math.min(ratioWidth, ratioHeight);
  10. if (ratioWidth != ratioHeight) {
  11. if (RATIO == ratioWidth) {
  12. OFFSET_LEFT = 0;
  13. OFFSET_TOP = Math.round((screenHeight - 800 * RATIO) / 2);
  14. }else {
  15. OFFSET_LEFT = Math.round((screenWidth - 480 * RATIO) / 2);
  16. OFFSET_TOP = 0;
  17. }
  18. }
  19. 3.根据上一步计算出来的最小纵横比来确定字体的大小(假定在480*800屏幕下字体大小设定为35)
  20. public static int TEXT_SIZE = Math.round(35 * RATIO);
  21. 4.根据上一步计算的字体大小来设定应用程序中字体的大小
  22. Paint paint = new Paint();
  23. paint.setTextSize(TEXT_SIZE);
  1. canvas.drawText("test", 0, 0, paint);
  2. from:http://blog.csdn.net/cq361106306/article/details/38400647

( 转 ) Android自绘字体大小paint.settextsize随分辨率大小变化的更多相关文章

  1. Android字体大小怎么自适应不同分辨率?

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

  2. Android怎么使用字体图标 自定义FontTextView字体图标控件-- 使用方法

    首先我想说明一下字体图标的好处,最大的好处就是自适应了,而且是使用TextView 不用去切图,是矢量图 灵活调用 第一步我要说明一下一般字体图标的来源,我这里使用的是  --阿里巴巴矢量图标库 -网 ...

  3. android 绘图之Path与Paint详解

    /** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分 ...

  4. Android 自绘TextView解决提前换行问题,支持图文混排

    先看下效果图: 上面是MTextView,下面是默认的TextView. 一.原因 用最简单的全英文句子为例,如果有一个很长的单词,这一行剩余的空间显示不下了,那么规则就是不打断单词,而是把整个单词丢 ...

  5. Android实现自定义字体

    介绍 最近在看开源项目的时候,发现里面涉及到了自定义字体,虽然自己目前还用不到,但是动手demo笔记记录一下还是有必要的,没准哪天需要到这个功能. 原理 1.其实实现起来非常简单,主要是用到了Type ...

  6. java的字体的颜色,型号,大小的方法

    jTextPane1.setForeground(Color.green);//设置java字体的颜色   设置字体的颜色和型号和大小 jTextPane1.setFont(new Font(&quo ...

  7. 【转】Android绘制View的过程研究——计算View的大小

    Android绘制View的过程研究——计算View的大小 转自:http://liujianqiao398.blog.163.com/blog/static/18182725720121023218 ...

  8. Android 更换系统字体......

    Android 更换系统字体...... 原文:http://vision-apps.blogspot.hk/2012/02/android-better-way-to-apply-custom-fo ...

  9. Android替换APP字体 — Typeface

    Android替换APP字体 — Typeface APP字体的思路一般都会想到自定义控件(TextView.EditView),但是项目中会有很多种控件,就算用也会承担一些风险和资源的消耗,主要是这 ...

随机推荐

  1. POJ3783Balls[DP 最坏情况最优解]

    Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 907   Accepted: 598 Description T ...

  2. 第27章 结构型模式大PK

    27.1 代理模式 VS 装饰模式 27.1.1 代理模式 (1)场景:客人找运动员代理要求安排运动员参加比赛 (2)说明:代理人有控制权,可以拒绝客人的要求,也可以答应安排,甚至自己下去跑(因为有些 ...

  3. win7旗舰版 中文64位 产品密钥(序列号)

    无需破解即可激活Windows 7旗舰版的"神Key". 第一枚"神Key":TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK: 第二枚"神 ...

  4. UIDate(时间)

    1.时间与时间的比较 ["时间1" timeIntervalSinceDate:"时间2"] >= 0;

  5. nginx负载均衡集群中的session共享说明

    在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 下面罗列几种nginx负载均衡 ...

  6. Centos5.8 安装 Redmine

    安装Ruby 到 /opt/ruby-2.0.0 -p481.tar.gz cd ruby--p481 ./configure --prefix=/opt/ruby- sudo make sudo m ...

  7. IE8中给HTML标签负值报错问题

    当通过JS给一个HTML标签设置高宽为负值的时候,会爆出一个“参数无效”的错误 chrome下不会报错,但是元素不会做任何关于负值的改变

  8. node基础04:模块调用

    1.模块调用 node遵循AMD规范 //server.js var http = require("http"); var Teacher = require("./t ...

  9. java JAXB 学习

    JAXB(Java Architecture for XML Binding)是JDK的一部分,用于Object <-> XML的转换(有点类似于.NET中的XML序列化). 1.创建XS ...

  10. 前端见微知著工具篇:Grunt实现自动化

    转载说明 本篇文章为转载文章,来源为[前端福利]用grunt搭建自动化的web前端开发环境-完整教程,之所以转载,是因为本文写的太详细了,我很想自己来写,但是发现跳不出这篇文章的圈子,因为写的详尽,所 ...