首页
学习
活动
专区
工具
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方法,并且使用正确的数据类型来描述路径的坐标点。

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

相关·内容

带你玩转自定义view系列

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

1.6K20

自定义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的值来达到动的效果,然后就是绘制三角形、圆形、圆角矩形以及它们坐标位置的动态处理。

63110
  • 自定义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的值来达到动的效果,然后就是绘制三角形、圆形、圆角矩形以及它们坐标位置的动态处理。

    66030

    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.3K30

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

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

    1.2K120

    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加上动画控制实现的

    58920

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

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

    1.4K20

    .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.5K30

    【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); // 圆形曲线测量

    37520

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

    有三个参数的构造函数中第三个参数是默认的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)。这样就不停的上下的浮动了。

    11710

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

    前言 自定义View是Android开发者必须了解的基础;而Path类的使用在自定义View绘制中发挥着非常重要的作用 网上有大量关于自定义View中Path类的文章,但存在一些问题:内容不全、思路不清晰...第二组: 添加路径 采用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); // 在路径中添加小正方形

    71120

    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将运动趋势的角度转换为画布的旋转,这样每次绘制切线

    75810

    Dart中的const,Flutter,Dart,React Native

    如果需要与大量定制的原生代码相结合,那么在 React Native 的抽象层中工作的好处就会减少,这种情况下,原生开发会更有优势。 Xamarin 在讨论 Xamarin 时,有两点需要评估。...这种方法独立使用 Xamarin 的 iOS 和 Android 产品来构建特定平台的功能,就像直接使用苹果 / 安卓原生一样,仅在 Xamarin 情况下使用 C#或 F#。...无状态部件在创建和初始化后不会更改它们的内容,而有状态部件维护一些程序运行时可变的状态,例如,响应用户交互。 在此示例中,FlatButton 部件和 Text 部件将绘制到屏幕上。...在以下代码中,State 类在单击按钮时更新字符串: class MyStatefulWidget extends StatefulWidget { MyStatefulWidget();...例如,将代码重构为 StatefulWidget,因为动画是状态更改,并且将 AnimationController 传递给 State 类允许在构建部件时使用动画值。

    6300

    Android自定义系列——9.Path详细用法

    填充模式 Paint有三种样式,“描边” “填充” 以及 “描边加填充”,我们这里所了解到就是在Paint设置为后两种样式时不同的填充模式对图形渲染效果的影响。...当从p点沿射线方向移动时,对在每个方向上穿过射线的边计数,每当图形的边从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。...下图就是一个简单的自相交图形: Android中的填充模式 Android中的填充模式有四种,是封装在Path中的一个枚举。...Android与填充模式相关的方法 这些都是Path中的方法。...op) boolean op (Path path1, Path path2, Path.Op op) 两个方法中的返回值用于判断布尔运算是否成功,它们使用方法如下: // 对 path1 和 path2

    87710

    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

    85550

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

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

    60420
    领券