Momo1199 2013-05-30 06:59 采纳率: 0%
浏览 2003
已采纳

实现视图和绘制的尺寸完全一致

在自定义View中的onDraw代码如下。

我要画一个对话气泡,

希望实现视图的尺寸和我画的泡泡是完全一样的。

protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setAntiAlias(true);
        paint.setStrokeWidth(2);
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStrokeCap(Paint.Cap.ROUND);      
                paint.setPathEffect(new CornerPathEffect(15) );  
        paint.setStyle(Paint.Style.FILL_AND_STROKE);
        paint.setShader(new LinearGradient(0, 0, 0, getHeight(), Color.BLACK, Color.WHITE, Shader.TileMode.MIRROR));

        Path path = new Path();         

        paint.setShadowLayer(4, 2, 2, 0x80000000);

        path.moveTo(myPath[0].x, myPath[0].y);

        for (int i = 1; i < myPath.length; i++){

                path.lineTo(myPath[i].x, myPath[i].y);                  
        }
        path.close();
        canvas.drawPath(path, paint);
    }
  • 写回答

1条回答 默认 最新

  • Kakalapa1986 2013-05-30 07:56
    关注
    canvas.clipPath(path) 
    canvas.drawPath(path, paint);
    //TODO
    canvas.save();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)