美文网首页
android draw需要注意的事

android draw需要注意的事

作者: 爱你为你做饭 | 来源:发表于2021-08-04 18:10 被阅读0次
  1. 截取图片绘制
  2. matrix中set,post,pre的区别
  3. matrix的平移,旋转,缩放,倾斜,除了倾斜外其他都可以指定中心点
  4. 通过线程控制view的绘制(线程控制动画)
  5. view的事件分发和view的拦截事件分发(activity拦截事件分发给view)
  6. draw中抗锯齿的实现:一是通过paint的api方法实现,不过此api方法只能够控制paint绘制图形抗锯齿,而是通过设置画布抗锯齿可以实现paint和绘制bitmap图片同时抗锯齿即:


    draw抗锯齿实现
  7. Android中实现全屏通常包含两种方式实现:一是通过页面的主题设置实现(无标题无状态栏),另外一种是代码中实现,此不再详述可以参考先前文章沉浸式状态栏的实现。
  8. 扇形的绘制
    • android canvas提供apidrawArc进行扇形的绘制,针对其参数下面注解:
      canvas.drawArc(oval,90,10,true,paint);
      第一个参数是需要设置控件大小,把我们上面创建的RectF对象放进去,需要注意的这个大小是整个view的大小,若圆分为扇形可以视作为整个圆的大小。
      第二个参数是需要设置扇形的出现的位置,分别是:90出现的位置、180出现的位置、270出现的位置和360出现的位置,即扇形的起始角度。
      第三个参数为扇形的宽度,这里的宽度是10,可以理解为扇形的角度,即整个扇形角度是多少?
      第四个参数是个布尔值,如果为true则把扇形的两边画出来,为false相反,绘制扇形是否为实心扇形。
      第五个参数就是画笔了,就是按照画笔的样式来画出来。
  9. 文本的绘制:
    • canvas提供两个api进行文本的绘制,drawText进行普通文本的绘制,需要指定绘制的x,y坐标值,drawTextOnPath则可以在一条路径上进行文本的绘制,斜向文本和竖向文本皆是通过path实现的。

    • drawText指定的x,y并不肯定是文本的左侧的坐标值,xy的坐标值取决于paint的textAlign属性和文本基线,用户可以通过setapi设置textAlign这个属性。

    • left:对应xy为文本左侧基线的坐标值,center:文本居中基线的坐标值,right:文本右侧基线的坐标值。

    • 文本基线:文本存在五条线,top,bottom,ascent,descent,baseline,paint绘制的时候,以baseline为0,bottom和descent为负,top和ascent为正,即baseline的计算取中减去descent或者bottom即可。即:


      text基线
    • 文本设置paint后可以通过Paint.FontMetrics计算所得文本的bottom和top等值,进而计算baseline的值。


      计算基线

参考文章:
Android:扇形绘制
Android:text文本绘制

相关文章

网友评论

      本文标题:android draw需要注意的事

      本文链接:https://www.haomeiwen.com/subject/pfuxkltx.html