A. 如何用android显示实时曲线求方法,代码
1. 网格背景,心电图的原理比较简单,首先绘制一个背景,就是网格就以Windows下的任务管理器来说吧,下面绿色的网格是固定的,如果你比较懒或者考虑绘制效率你甚至可以直接使用一个背景图片代替,当然代码绘制效率没有什么问题,直接使用Canvas的drawLine方法即可。由两个for循环控制着横纵坐标,当然Android123推荐大家使用drawLines参数直接是一个数组。
2. K线图,对于真正的曲线或者说K线图,其实就是描点画图了,在Android中我们自绘控件中重写onDraw方法,onDraw的形参Canvas提供了drawPoint(float x,float y,Point point) 。这三个参数前两个正好对应横竖坐标,第三个参数为Point对象,可以控制画笔的颜色、粗细和类型。如果是动态的,你需要使用一个计时器,最简单的使用Handler的postDelay方法,使用一个数组动态保存着每个点即可。
B. 怎么用ANDROID实现这个功能
估睁闷计你这个是要把数据传到手机,在你手机上做显示和统计功能。有了数据就好说了,下面的过缓,正常,过快,是悉码弯一张图片。放到指定位置,上面的“你在这里”也是一张图片。只不过这张图片是根据数据判断坐标位置摆放。把你下面的那张图片分成100个百分点。根据你的数据大小计算你上面图片需要在的百分点位置,然后通过LayoutParam动态设置该图片的位置模扰即可。这只是个实现思路,具体的代码也不难的。计算好百分点即可。希望能帮到你。
C. 急求Android画心电图问题:
你是用surfaceview画的吗?画的时候不要清屏就行了嘛
D. Android 根据心电图(ECG)数据分析绘制心电图
先来看一些数据吧!由于数据太多我们只放一部分,每一个 <digits> 标签有5000条数据!
其实看不懂这玩意,不知道是个啥,网上搜的是一个小格子是 0.04s ,就是按照这个情况来搞;每一家的心电图都不一样,我们这边有两种,我先绘制其中一种;
继承 view 就不说了
绘制表格
绘制表格,我这边是绘制了两分钟长的格子,上边说了是按照一个小格子代表的0.04s;
每一秒会有一个实线,构成一个大格子,后面上效果图;
最后效果图(由于用在TV上,所以就这样了!)
E. 怎样在安卓系统里编出一个像心电图一样的图形随测试数据变化
拍一张心扮洞电图的图片到手机上吧。
如有软陪衡件名称,自己去应用市场上去找吧。可能就是一个芦缺做检测流量的软件吧?
F. 如何创建心电图动画在Android上的应用
做心电数据......这就是我的编码,现在的实时图形,你需要创建一个自定义视图。然后在OnDraw的方法,你用你的画布上绘制位图。然后自定义里面我也实现了一个可运行的油漆使用的DrawLine线,然后无效()。我会告诉你code,但其因为一切我发现没有测量到的速度专有的,我不得不图表。
G. 安卓开发中矢量图的绘制及动画
矢量图也称为面向对象的图像或绘图图像,是根据几何特性来绘制的图形,在安卓开发中可以使用失量图代替原来的图片资源,矢量图具有占用空间小和可以随意缩放但不失真的优势,在我的多个项目中都有运用。
通过学习和实践,我总结了一些与矢量图相关的知识,方便今后更好的使用矢量图,同时也可以供大家查阅参考。
绘制矢量图之前需要先定义画布的宽高,后续的绘制效果都展示在这个画布上。在绘制过程中需要输入的坐标就是这个画布上的点。
安卓的矢量图常见于 drawable 文件夹下,是一个xml文件,由 vector 标签包裹,在 vector 标签中可包含多个 path 标签,依次叠加显示。
在矢量图中最重要的就是 path 属性,图像的样式就是由 path 属性中的数据绘制而成,这些数据由不同的命令组合而成,下面就介绍一些矢量图的绘制命令。
将前面的命令示例连接起来就可以生成一个完整的图像,它大概长这个样子:
画布的尺寸为500x500,图上的顶点是200,10的位置,也是我们开始作图的起点。通过这个图片可以更好的理解每一个绘图命令。
安卓中可以为矢量图添加动画效果,这样用户就可以看到一个动的图片,可以一定程度的提高app的交互效果。矢量图动画是图形内部的变化,可以做到View动画无法实现的效果。
这种动画针对的是矢量图中 path 字段的值,通过连续改变 path 字段的值而达到产生动画的效果。
注:pathData动画所需的AnimatedVectorDrawable最低要求API等级为25
实现一个矢量图动画需要以下几步:
1. 准备起始状态和结束状态的矢量图两张。
2. 创建动画配置文件。
3. 创建动画矢量图文件。
4. 启动动画。
基于这种要求,我准备了两个矢量图:
控制动画运行的是一个 objectAnimator ,此处把 objectAnimator 包裹在一个 set 中也是可以的,说白了就是执行这个动画文件。
ration 用来指定动画的持续时间。
propertyName 中的pathData指的就是矢量图中的pathData。
valueFrom 和 valueTo 一个是起始路径,一个是结束路径,可以想到,这个动画就是在持续修改pathData,从而达到展示动画的效果。而 valueFrom 和 valueTo 的值是直接从先前准备的矢量图中复制过来的,所以那个结束状态的矢量图中唯一有用的东西就是pathData属性,没有那个文件也无所谓。
valueType 这里必须填判型写pathType,这是专门用来计算path的类型。
此时,文件的最外层由 animated-vector 包裹,同时需要添加一个 drawable 参数,这个 drawable 用于指定动画应用于那个矢量图上,我们是要从未启用状态变成启用状态,所以是在未启用状态开始执行动画,在动画未开始的时候展示的也是未启用状态。此处我们指定为 @drawable/icon_filter_off 。
内部有一个 target 标签,这个标签可以有多个,分别对应不同的动画,但同一个 path 只能应用一个动画。
name 用于指定要执行动画的 path 。status正是我们为右下角小图标path设置的名称。
animation 用于指定需要执行的动画。此处引用我们刚刚创建的猛冲山动画资源 @animator/filter_turn_on 。
当我们创建枝中好动画矢量图之后,页面中引用的资源就不再是之前的静态矢量图了,需要把 ImageView 的图片替换成 @drawable/animated_filter_on
经过这么多的步骤,我们终于做出了一个矢量图动画,而且是一个。说实话,有点累,然而我这个状态切换的动画一套就要两个,所以我又加了一个回来的动画和对应的动画矢量图,一共六个文件,完成了筛选状态的两个切换动画。这还是比较简单的实现方式,对于两种状态切换的动画,网上还有一种使用selector的方式,这种方式更麻烦,而且使用方法并没有简单一些,所以我的选择是在需要切换状态的时候更改 ImageView 的图片资源,然后再执行动画。
trimPath动画相当于是改变了矢量图绘制的位置,是从头开始画还是从80%的位置开始画,然后再动态的修改这个百分比,从而达到动画的效果。理解起来倒不是很难。
先放一个我使用trimPath动画做的loading效果,这个动画效果被我用在LoadingDialog中,在界面加载的时候会重复播放这个动画。
android:name="load" 不用多说,这个是我们做动画时路径名称。这里为了让心电图路径更清晰,我设置了描边宽度为20( android:strokeWidth="20" ),同时还要设置描边的颜色才能展示出来。后面的 android:trimPathStart="0" 和 android:trimPathEnd="0" 是本次trimPath动画的重点。
这两个属性都设置为0是因为动画的起始帧都为0,然后通过 objectAnimator 慢慢把这两个属性变为1,这样一个慢慢增长的动画就形成了。
网络上一个横线变成搜索按钮的示例是将这两个属性分别应用到了两个 path 上,而我是将两个属性同时应用到一个 path 上,原理都是一样的。
在配置文件中,我将两个动画都设置为3秒且循环播放,起始点的动画慢于终点的动画1秒,达到只画中间1秒间隔线段的效果。和路径变形动画的区别是 android:valueType="floatType" ,我们只需要计算从0到1的数字,然后应用到 trimPathStart 和 trimPathEnd 字段上。至此,loading的动画就配置完了。
这一步已经没什么可说的了,就是将指定的矢量图中指定的路径设置一个指定的动画。
通过几天的学习,已经大致掌握了矢量图的展示及动画的制作,但这一套流程下来成本比较高,是程序员方式的动画制作流程。除了制作成本,创意成本也是相当高的,一个好的创意能极大的提升用户体验,而好多时候我们的创意能够被实现也是很困难的。希望以后能实现一些更好的效果,让用户使用起来更舒服。
SVG—最简单的SVG动画
SVG路径(path)中的圆弧(A)指令的语法说明及计算逻辑
Android中的矢量图
Android高级动画(2)
H. android 怎样做心电图
在手机上做心电图,需要有硬件配置和专用软件。Android手机能不能做心电图,首先要看手机有没有外接的电极,如果没有电极,即使安装了软件也不能做心电图。
I. android SurfaceView绘制图形后,闪一下就没了,是什么原因造成的
移动后闹庆需要清空surfaceview,不然因为缓存画面的原因会留下残影,可在循环绘制的方法中加入重轮搜新绘制背景
mHolder = getHolder()
mCanvas = mHolder.lockCanvas();
mCanvas.drawColor(Color.WHITE);
这样就每次都重新绘制,不液桐握过好像会卡一点,不过移动残影没了
J. android 绘制动态心电图
弄两个一模一样的,当第一个移动到边缘之后让第二个移动到第一个的尾部,当第二个也移动到边缘的时候,再让第一个移动到第二个的尾部。
以此类推!!!!