zoukankan      html  css  js  c++  java
  • Android开发智能车载App(2)---android paint和canvas自定义view

    自定义过View的对这两个属性应该不陌生. Paint画笔Canvas画布. 有了这两个条件我们就可以做很多的事情.

    如果你想设置一些属性如文字粗细,大小,颜色那么就使用Paint.

    Paint:该类保存了绘制几何图形、文本和位图的样式和颜色信息。也就是说我们可以使用Paint保存的样式和颜色,来绘制图形、文本和bitmap,这就是Paint的强大之处。接下来我们使用Paint来绘图,并且看看该类有哪些样式和颜色。

    当我们要自定义View的使用,要养成在构造函数中创建出了Paint画笔对象,而不是在onDraw(),因为onDraw可能会在后续中频繁的刷新,如果在这其中设置了一些初始化的操作,那么就毫无意义并且浪费资源.

    我们看一个Paint的基本属性设置:

       mPaint = new Paint();                                             //使用paint前要对paint初始化
    //开始设置画笔的基本信息 mPaint.setAntiAlias(true); //设置画笔的抗锯齿 mPaint.setColor(Color.WHITE); //设置画笔的颜色 mPaint.setStyle(Paint.Style.FILL); //设置画出的图形填充的类型,fill为内部填充,stroke为只有边框,内容不填充 mPaint.setStrokeWidth(mDensity * 2); //设置画笔的宽度. 接收实参为像素单位 mPaint.setTextSize(mDensity * 20); //设置当绘制文字的时候的字体大小
      mPaint.setStrokeCap(Paint.Cap.SQUARE);              //设置线帽,ROUND:圆形,SQUARE:方形

    setStyle (Paint.Style style)

    • Paint.Style.FILL 填充内部
    • Paint.Style.FILL_AND_STROKE 填充并描边
    • Paint.Style.STROKE 仅描边不填充

    如果你想直接画某一个图形那么就是用Canvas

    Canvas类:该类规定了背景的颜色,以及绘制的形状

    drawLine (float startX, float startY, float stopX, float stopY, Paint paint)//画直线
        //startX:开始点X坐标
        //startY:开始点Y坐标
        //stopX:结束点X坐标
        //stopY:结束点Y坐标
    drawPoint (float x, float y, Paint paint)//画点
         
    drawRect (float left, float top, float right, float bottom, Paint paint)//画矩形
    
    drawRoundRect (RectF rect, float rx, float ry, Paint paint)//画圆角矩形
        //rx: 生成圆角椭圆的X轴的半径
        //ry: 生成圆角椭圆的Y轴的半径
    drawCircle (float cx, float cy, float radius, Paint paint)//画圆形
        //cx: 圆心x点坐标
        //cy: 圆心y点坐标
        //radius: 圆的半径
    
    drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)//画弧
        //startAngle: 起始点,默认为坐标系x轴的正方向为0, 正值为顺时针旋转,负值反之
        //sweepAngle: 从起始点开始需要显示的多少角度到结束点. 此角度正值为顺时针旋转.
        //useCenter: 是一个boolean,如果为true那么开始到圆心,和结束点到圆心都有连线.反之没有.

      

  • 相关阅读:
    Oracle中有大量的sniped会话
    Error 1130: Host '127.0.0.1' is not allowed to connect to this MySQL server
    汉字转换为拼音以及缩写(javascript)
    高效率随机删除数据(不重复)
    vs2010 舒服背景 优雅字体 配置
    mvc中的ViewData用到webfrom中去
    jquery ajax return值 没有返回 的解决方法
    zShowBox (图片放大展示jquery版 兼容性好)
    动感效果的TAB选项卡 jquery 插件
    loading 加载提示······
  • 原文地址:https://www.cnblogs.com/suifengye/p/8947875.html
Copyright © 2011-2022 走看看