首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在xamarin android中给出long值时未绘制canvas.DrawPath

在Xamarin Android中给出long值时未绘制canvas.DrawPath是指在使用Xamarin Android开发时,当我们尝试使用long类型的数值来绘制路径时,但却没有调用canvas.DrawPath方法进行绘制。

在Android开发中,Canvas类是用于绘制图形和文本的基本工具之一。而绘制路径(Path)则是通过一系列的直线和曲线段来描述图形的形状。在Xamarin Android中,我们可以使用Canvas类的DrawPath方法来绘制路径。

当我们给出long值时未绘制canvas.DrawPath可能是由于以下几个原因导致的:

  1. 代码逻辑错误:可能是在绘制路径之前忘记调用canvas.DrawPath方法,或者在调用该方法之前没有正确设置路径的起点和终点。
  2. 数据类型不匹配:long类型的数值通常用于表示整数,而绘制路径需要使用浮点数来描述路径的坐标点。因此,如果直接将long值传递给绘制路径的方法,可能会导致类型不匹配的错误。

为了解决这个问题,我们可以采取以下步骤:

  1. 确保在绘制路径之前调用canvas.DrawPath方法,以确保路径被正确绘制。
  2. 确保在调用canvas.DrawPath方法之前,正确设置路径的起点和终点,并使用正确的数据类型来描述路径的坐标点。
  3. 如果使用long类型的数值来描述路径的坐标点,可以将其转换为浮点数类型,例如使用强制类型转换或者将long值除以一个浮点数来得到浮点数值。

总结起来,当在Xamarin Android中给出long值时未绘制canvas.DrawPath时,我们需要检查代码逻辑是否正确,确保在绘制路径之前调用了canvas.DrawPath方法,并且使用正确的数据类型来描述路径的坐标点。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 使用 Path 实现搜索动态加载动画效果

的起点相连接就是形成一条直线了,但是path的图形内容也就是这个圆是怎么绘制出来的呢?...我们绘制这个圆的时候是从45度开始绘制360刚好是一周,形成了一个圆,现在做个测试不要360,就写个330度,效果如下: ? 这个时候你会发现这条线是对的,导致问题其实是这样的,如图分析: ?...哪我们只要改变startD这个离起始点的位置就ok,当然有很多种方法,但是Android基本上都是使用动画,ok,根据这个思路实现这个第二步逻辑: package com.tuya; import...现在还我们效果还差外圆的大圆的效果了,那么大圆是小圆动画执行完毕后再去做旋转效果的,那好,我们只要监听动画就可以,画图: package com.tuya; import android.animation.Animator...private long animDuration = 2000;//动画时间 private int drawTag = 1;//区分是绘制搜索框还是外层圆 public DynamicSearchView2

1.3K21

自定义View实现Dribbble上动感的Gallery App Icon

+ 三个圆) 需要进行的动画: 太阳 - 旋转动画 山 - 上下平移动画 云朵 - 左右平移动画 不必绘制圆角外框,因为各个手机厂商的应用icon的圆角不一样,我们可以Android Studio...绘制 1.圆形背景 圆形.png 这里的白色圆角外框是shape画的,蓝色的圆形背景绘制也比较简单,主要是onDraw()方法里使用canvas.drawCircle(): @Override...onSizeChanged()里绘制太阳和得到旋转起始点的x,y坐标: private void drawSun() { // sun图形的直径 int sunWidth = getValue...onSizeChanged()里绘制三座山和得到要平移的y坐标: drawMou(mViewCircle, mViewCircle - getValue(10), getValue(10)); /**...(momputePath, mPaint); 我们通过动态改变dx和dy的来达到动的效果,然后就是绘制三角形、圆形、圆角矩形以及它们坐标位置的动态处理。

61010
  • 带你玩转自定义view系列

    Android 坐标系 物理,要描述一个物体的运动,就必须选定一个参考系。所谓滑动,正式相对于参考系的运动。...Android,将屏幕最左上角的顶点作为Android坐标系的原点,从原点向右是X轴正方向,从原点向下是Y轴正方向: ?...只不过视图坐标系,原点不再是 Android 坐标系的屏幕左上角,而是以父视图左上角为坐标原点。 ?...image 触控事件,通过 getX() 和 getY() 所获得的坐标就是视图坐标的坐标。 Android ,系统提供了非常多的方法来获取坐标值、相对距离等。...image Region区域 Region Android绘制是区域的意思,使用 Region 可以对图形进行很多操作,比如区域的合并,取交集、或抑或等等。

    1.6K20

    android画图之贝塞尔曲线讲解

    一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋; 上面这一段话其实就“线段像可伸缩的皮筋”这一句比较重要,也很容易理解;         至于贝赛尔曲线的实现,Android...只不过它隐藏的比较深,它隐藏于Path类,方法如下: android.graphics.Path.quadTo(float x1, float y1, float x2, float y2) Since...(Path)     canvas.drawPath(path, paintQ);   }   最后是用户触屏监听函数以及逻辑函数: /**  * 触屏事件监听  */ @Override  ...~主要是贝赛尔函数的参数,尤其是操作点,操作点的各种不同可以实现不同的效果,这里我简单的统一的讲操作点设置成用户触屏点的x,y的一半,呵呵偷懒了~嘻嘻~ 我把贝赛尔的操作点写在了逻辑logic()函数,...SurfaceHolder holder, int format, int width,   int height) {       }   /**      * SurfaceView视图消亡

    1.2K70

    Android知识总结——Path常用方法解析 - 简书

    0°(x轴方向),绘制方向通过dir的而定,dir为CW顺时针绘制,dir为CCW逆时针绘制 方法比较简单,主要是对比CW和CCW的区别,我们用canvas.drawTextOnPath方法突显顺时针和逆时针绘制的效果...3.addOval(RectF oval, Direction dir) oval矩形区域中,添加一个内切的椭圆,绘制起始角度为0°(x轴方向),绘制方向通过dir的而定,dir为CW顺时针绘制,...4.addRect(RectF rect, Direction dir) 添加一个区域为rect的矩形,绘制起点为左上角,绘制方向通过dir的而定,dir为CW顺时针绘制,dir为CCW逆时针绘制...,dir为CW顺时针绘制绘制起点为左下角,dir为CCW逆时针绘制绘制起点为左上角(注意对比顺时针和逆时针的绘制起点) 需要注意的是,如果radii数组的元素小于8,系统会抛出错误信息radii...(线的曲直取决于该操作本身是绘制直线还是曲线) 理解这个方法之前,首先我们要知道无论是使用addXxx方法还是xxxTo方法等绘制过程其实都是根据一堆点的集合,按顺序连线(直线或曲线)后绘制出Path

    2.1K30

    自定义View实现Dribbble上动感的Gallery App Icon

    + 三个圆) 需要进行的动画: 太阳 - 旋转动画 山 - 上下平移动画 云朵 - 左右平移动画 不必绘制圆角外框,因为各个手机厂商的应用icon的圆角不一样,我们可以Android Studio里生成应用图标...绘制 1.圆形背景 [圆形.png] 这里的白色圆角外框是shape画的,蓝色的圆形背景绘制也比较简单,主要是onDraw()方法里使用canvas.drawCircle(): @Override...onSizeChanged()里绘制太阳和得到旋转起始点的x,y坐标: private void drawSun() { // sun图形的直径 int sunWidth = getValue...onSizeChanged()里绘制三座山和得到要平移的y坐标: drawMou(mViewCircle, mViewCircle - getValue(10), getValue(10)); /**...(momputePath, mPaint); 我们通过动态改变dx和dy的来达到动的效果,然后就是绘制三角形、圆形、圆角矩形以及它们坐标位置的动态处理。

    64930

    Android开发自定义控件之折线图实现方法详解

    所以onMeasure方法设置宽高相等。...设置长宽相等的方式很简单,我们不需要自己去测量实现,只需要调用父类的onMeasure方法,传参数(宽高将都传入宽度(或者高度)即可。...进行绘制之前,我们要进行若干初始化工作,其中就包括画笔的初始化。然后就可以进行绘制了,我们先绘制一个简单的圆圈,然后将控件放到布局文件,运行看看效果。...然后,绘制图表。 到目前为止,已经实现了最简单的一个自定义控件,虽然它什么功能都没有,只是简单显示一个红色圆圈,但本质都是一样的。接下来就开始图表的绘制。 1.初始化一些需要使用的。...canvas.drawText(i + "", graphLeft + i * degreeSpace, graphBottom + graphPadding / 2, paint); } 5.折线 绘制折线之前

    1.1K62

    .NET MAUI 性能提升(下)

    -- everything else --> 默认情况下,MauiImage使用.svg的宽度和高度作为图像的“基础大小”。...一个android Studio“库”项目中,当你包含一个像res/drawable/foo.png这样的文件,你会得到一个像这样的字段: package com.yourlibrary; public...); 当你构建com.yourlibrary.aar, android的gradle插件实际上并没有把这个类放在包。...相反,android应用程序实际上知道整数的是多少。因此,R类是android应用程序构建生成的,为每个android库生成一个R类。...例如,dotnet/maui#2606,启动设置了21497个字段!我们创建了一种方法来解决这个问题,但我们也有一个新的自定义修剪步骤来执行修复构建(修剪期间)而不是在运行时。

    2.4K30

    Android查缺补漏(View篇)--自定义View利器Canvas和Paint详解

    上篇文章介绍了自定义View的创建流程,从宏观上给出了一个自定义View的创建步骤,本篇是上一篇文章的延续,介绍了自定义View两个必不可少的工具Canvas和Paint,从细节上更进一步的讲解自定义...count:跳过offset个后,处理几个,注意这里的count不是代表点的个数,而是代表数组中值的个数。...一个是绘制一组点,其中drawLines的float数组四个为一组点,其用法可以参照drawPoints。...drawTextOnPath()的重载方法 drawTextOnPath() 由方法名字我们就可以看出来他可以按照Path的走向来绘制文字,例如我们path传入一个圆弧,那么绘制出来的文字走向就是圆弧状的...---- 最后想说的是,本系列文章为博主对Android知识进行再次梳理,查缺补漏的学习过程,一方面是对自己遗忘的东西加以复习重新掌握,另一方面相信重新学习的过程定会有巨大的新收获,如果你也有跟我同样的想法

    1.2K120

    Android 贝塞尔曲线实战之网易云音乐鲸云特效

    先看两个例子: 手机 QQ 读消息红点拖拽效果。 ? 小说阅读 APP 的翻页效果。 ? 简介 开始实战之前,我们还是先了解下理论基础。动画的终极武器就是贝塞尔曲线了。...它是一条光滑的曲线,依据四个位置任意的点坐标绘制而成。1962年,法国工程师皮埃尔·贝塞尔(Pierre Bézier)率先研究出这种矢量绘制曲线的方法并给出了详细的计算公式,应用于汽车的主体设计。...贝塞尔曲线的绘制,无论多少阶(一阶除外),均需要逐级降阶,最终降至一阶。 “二阶贝塞尔曲线解析” 这段文字,从 第一步 到 第二步 的过程就是降阶。...贝塞尔曲线 Android 上的使用 Android 中使用贝塞尔曲线比较简单,Android 已经内置了贝塞尔曲线的 API,开发者可以直接予以调用。主要有两个 API 。...Android系统是以每秒60帧为满帧的,那么只要将1秒÷60帧,就能得出16毫秒(ms)/帧是满帧的界限,即每帧快于16ms则为流畅。

    1.3K20

    Flutter 动画鼻祖之CustomPaint

    基本用法 CustomPaint的基本用法包含绘制点、线、各种形状和各种曲线,用法如下: CustomPaint( painter: MyCustomPainter(), ) MyCustomPainter...= oldDelegate; } } 上面的MyCustomPainter为了看起来清晰,什么也没有做,通常情况下,paint方法内绘制自定义的效果。...shouldRepaint方法通常在当前实例和旧实例属性不一致返回true。 paint通过canvas绘制,size为当前控件的大小,下面看看canvas的方法。...这些函数和Android的Canvas基本一样,如果你有Android基础,直接套用即可。...(PointMode.polygon, points, _paint); } 花骨朵的绘制只通过canvas.drawPath就实现了,其实整个玫瑰花的绘制都是通过canvas.drawPath加上动画控制实现的

    56120

    Android自定义控件(神级)+MediaRecoder录音

    零、前言 总算想到一个神级的自定义控件了 前方高能预警,萌新自带零食饮料 本文的前置知识你需简单了解:Android绘制函数图象及正弦函数的介绍 没错,今天玩自定义控件,和函数、录音有什么关系...---是的 ---- 4.让凸起的部分渐渐平息 不就是对A进行渐变嘛...非常简单 ?...:onDraw 第二条淡一点 mPaint.setAlpha(255); canvas.drawPath(mPath, mPaint); mPaint.setAlpha(66); canvas.drawPath...(mReflexPath, mPaint); ---- 3.高度设置 我的用意是录音是监听音量大小,然后让图象波动 暴漏设置高度的方法,设置执行动画,下面是点击设置随机高度效果 ?...基本套路和第一篇的录音一致,下面只给出核心的步骤 不明白参见第一篇或源码 //初始化MediaRecorderTask mMediaRecorderTask = new MediaRecorderTask

    82850

    仿百度外卖的酷炫水波纹效果及解析

    有三个参数的构造函数第三个参数是默认的Style,这里的默认的Style是指它在当前Application或Activity所用的Theme的默认Style,且只有明确调用的时候才会生效,以系统的...view = new WaveView(this); 以下方法调用的是两个参数的构造函数: //layout文件 - 格式为: 包名.View名 因为我们这个例子layout中使用这个自定义...你能用Canvas的drawPath来把这条路径画出来(同样支持Paint的不同绘制模式),也可以用于剪裁画布和根据路径绘制文字。...第二步:重新绘制曲线 onDraw()方法的结尾处加上: postInvalidateDelayed(20); 这个方法会再20毫秒后会重新调用onDraw()方法。...3.让imageView与它的父View之间的margin的bottom属性等于这个y的就可以了(demo里面是y+2)。这样就不停的上下的浮动了。

    9710

    自定义View实战--实现一个清新美观的加载按钮

    这个时候的 rect 尺寸就是相对应的文字尺寸加上相对应方向上的 padding ,这些 padding 通过 attrs.xml 自定义属性然后布局文件赋予。...测量是 onMeasure() 方法中进行,而绘制就是 onDraw() 方法中进行的,这是 Android 开发者都知道的事情。...为了不给读者造成困扰,我先张贴自定的属性,及构造方法获取属性的代码。其它的细节应该看名字就大概知道了。 attrs.xml <?...LoadButton 的构造方法获取这些。...这是个中间矩形从初始变为 0 的过程,我们用 rectWidth 表示这个矩形的宽度,因为 onDraw() 方法,LoadButton 尺寸确定,所以我们很容易得到它的中心点,所以我们可以中心点坐标为参考坐标

    58620

    Android UI】Path 测量 PathMeasure ⑤ ( PathMeasure#getSegment 函数 | 圆形进度条示例 )

    /reference/kotlin/android/graphics/PathMeasure PathMeasure#getSegment 函数 的作用是 截取 Path 的一段 , 形成新的 Path...给定开始和停止距离,dst返回中间段。 如果段的长度为零,则返回false,否则返回true。 startD和stopD固定为合法(0..getLength())。...android上。操作系统。建筑版本代码#KITKAT和早期版本, 结果路径可能不会显示硬件加速画布上。 一个简单的解决方法是向该路径添加一个操作,例如dst。rLineTo(0,0)。...参数 : 截取的新的 Path , 该作为返回使用 ; startWithMoveTo: Boolean 参数 : 是否移动位置点 ; 二、代码示例 ---- package kim.hsl.paintgradient.pathmeasure...); mPaint.setColor(Color.GREEN); canvas.drawPath(path, mPaint); // 圆形曲线测量

    33920

    Carson带你学Android:自定义View Path类使用教程

    前言 自定义View是Android开发者必须了解的基础;而Path类的使用在自定义View绘制中发挥着非常重要的作用 网上有大量关于自定义ViewPath类的文章,但存在一些问题:内容不全、思路不清晰...第二组: 添加路径 采用addXxx()、arcTo()组合 2.1 添加基本图形 作用:Path路径添加基本图形 如圆形路径、圆弧路径等等 具体使用 // 添加圆弧 // 方法1 public...startAngle, float sweepAngle, boolean forceMoveTo) // 下面会详细说明 // 加入圆形路径 // 起点:x轴正方向的0度 // 其中参数dir:指定绘制是顺时针还是逆时针...(Color.RED); canvas.drawPath(dst,mPaint1); 第四组:设置路径填充颜色 Android,有四种填充模式,具体如下 均封装在Path...// 逆时针 path.addRect(-400, -400, 400, 400, Path.Direction.CCW); // 路径添加小正方形

    67720

    PathMeasure之迷径追踪

    Path,不论是自定义View还是动画,都占有举足轻重的地位。...硬件加速的Bug 由于硬件加速的问题,PathMeasure的getSegment讲Path添加到dst数组时会被导致一些错误,需要通过mDst.lineTo(0,0)来避免这样一个Bug。.../2013/12/21/android-recipe-4-path-tracing/ Romain Guy使用DashPathEffect来实现了路径绘制。...DashPathEffect(float[] intervals, float phase) DashPathEffect传入了一个intervals数组,用来控制实线和虚线的数组的显示,那么当实线和虚线都是整个路径的长度,...4.gif 只不过这里绘制的时候,使用了一些Trick,先通过canvas.translate方法将原点移动的圆心,同时,通过canvas.rotate将运动趋势的角度转换为画布的旋转,这样每次绘制切线

    74210

    绘制优化

    Android 手机的开发者选项,有一个『调试 GPU 过度绘制』的选项,该选项开启之后,手机显示如下,显示出来的蓝色、绿色的色块就是过度绘制信息。...应用界面,应该尽可能地将过度绘制控制为 2 次(绿色)及其以下,原色和蓝色是最理想的。 粉色和红色应该尽可能避免,实际项目中避免不了,应该尽可能减少粉色和红色区域。...这样一来,只有裁剪矩形内的界面需要绘制,自然就减少了抽屉布局的过度绘制。自定义控件可以参照这个来优化过度绘制问题。...,高版本的一些 widget 新特性就是这样老版本也能展示的。...X2C框架加载布局 一般大家写页面都是通过xml写布局,通过setContentView、或LayoutInflater.from(context).inflate方法将xml布局加载到内存

    89010
    领券