最近使用canvas在android上做绘图开发,发现如果Paint的setStrokeWidth设置为1,且canvas没有设置抗锯齿效果,则drawline函数将无法绘制出水平的线段,这是为什么呢?原来,如果你将StrokeWidth设为0,android将为你绘制hairline(一般为1pix),而如果你设置为1,那么android将根据比例为你计算1单位宽度所占的像素值,比如你现在的比例是0.75,则android就无法绘制出宽度为0.75像素的线段(特别是在模拟器上,可能更容易出现这种情况,因为电脑像素与手机像素大小不一样)。

那么怎么解决这个问题呢?其实很简单---虽然我是经过了一上午的时间才琢磨出来的,以为我的问题是在画multiline的时候,一条线段的部分被打断了!!!。那就是为Paint设置抗锯齿效果,方法为:Paint pen = new Paint(Paint.ANTI_ALIAS_FLAG );

去试试效果吧!

忍不住要小抱怨一句:咋这么不智能呢?竟然还允许有画不出水平线的情况发生~~~~~惊恐

更多相关文章

  1. 自定义控件及效果
  2. Android UI开发第十二篇――动画效果Animation(一)
  3. Android开发中阴影效果的实现
  4. Android UI开发第十二篇——动画效果Animation(一)
  5. 【Android 界面效果29】研究一下Android滑屏的功能的原理,及scrol
  6. Android中图片实现按钮点击效果
  7. CheckBox 设置style 没有效果的原因

随机推荐

  1. Android 虚拟机安装SD卡
  2. Ubuntu 10.10 编译Android 2.2
  3. [置顶] 我的Android进阶之旅------>andro
  4. Android SnackBar
  5. Android——多语言适配
  6. Android assets文件夹之位置放置和作用( A
  7. android和html交互--动态注入方法
  8. Android(安卓)SimpleAdapter源码详解
  9. Crazy Android Note Chapter-8
  10. Android动画效果 translate、scale、alph