- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Android轻松画出触摸轨迹由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例介绍了android如何画出触摸轨迹的方法,分享给大家供大家参考,具体内容如下 。
效果图:
实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
package
com.android.gameview5;
import
android.app.activity;
import
android.content.context;
import
android.graphics.canvas;
import
android.graphics.color;
import
android.graphics.paint;
import
android.graphics.path;
import
android.os.bundle;
import
android.view.motionevent;
import
android.view.surfaceholder;
import
android.view.surfaceholder.callback;
import
android.view.surfaceview;
import
android.view.window;
import
android.view.windowmanager;
public
class
surfaceviewactivity3
extends
activity {
public
void
oncreate(bundle s){
super
.oncreate(s);
//全屏显示
requestwindowfeature(window.feature_no_title);
getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,
windowmanager.layoutparams.flag_fullscreen);
setcontentview(
new
myview(
this
));
}
public
class
myview
extends
surfaceview
implements
callback,runnable{
public
static
final
int
time_in_frame =
50
;
paint mpaint =
null
;
paint mtextpaint =
null
;
surfaceholder msurfaceholder =
null
;
boolean
mrunning =
false
;
canvas mcanvas =
null
;
private
path mpath;
private
float
mposx,mposy;
public
myview(context context){
super
(context);
this
.setfocusable(
true
);
this
.setfocusableintouchmode(
true
);
msurfaceholder =
this
.getholder();
msurfaceholder.addcallback(
this
);
mcanvas =
new
canvas();
mpaint =
new
paint();
mpaint.setcolor(color.black);
mpaint.setantialias(
true
);
mpaint.setstyle(paint.style.stroke);
mpaint.setstrokecap(paint.cap.round);
mpaint.setstrokewidth(
6
);
mpath =
new
path();
mtextpaint =
new
paint();
mtextpaint.setcolor(color.black);
mtextpaint.settextsize(
15
);
}
public
boolean
ontouchevent(motionevent event){
int
action = event.getaction();
float
x = event.getx();
float
y = event.gety();
switch
(action){
case
motionevent.action_down:
mpath.moveto(x, y);
break
;
case
motionevent.action_move:
mpath.quadto(mposx, mposy, x, y);
break
;
case
motionevent.action_up:
//mpath.reset();
break
;
}
//记录当前触摸点得当前得坐标
mposx = x;
mposy = y;
return
true
;
}
private
void
ondraw(){
mcanvas.drawcolor(color.white);
//绘制曲线
mcanvas.drawpath(mpath, mpaint);
mcanvas.drawtext(
"当前触笔x:"
+mposx,
0
,
20
,mtextpaint);
mcanvas.drawtext(
"当前触笔y:"
+mposy,
0
,
40
,mtextpaint);
}
public
void
run() {
// todo auto-generated method stub
while
(mrunning){
long
starttime = system.currenttimemillis();
synchronized
(msurfaceholder){
mcanvas = msurfaceholder.lockcanvas();
ondraw();
msurfaceholder.unlockcanvasandpost(mcanvas);
}
long
endtime = system.currenttimemillis();
int
difftime = (
int
) (endtime - starttime);
while
(difftime<=time_in_frame){
difftime =(
int
)(system.currenttimemillis()-starttime);
thread.yield();
}
}
}
@override
public
void
surfacechanged(surfaceholder holder,
int
format,
int
width,
int
height) {
// todo auto-generated method stub
}
@override
public
void
surfacecreated(surfaceholder holder) {
mrunning =
true
;
new
thread(
this
).start();
}
@override
public
void
surfacedestroyed(surfaceholder holder) {
// todo auto-generated method stub
mrunning =
false
;
}
}
}
|
以上就是android轻松画出触摸轨迹的具体方法,希望对大家的学习有所帮助.
最后此篇关于Android轻松画出触摸轨迹的文章就讲到这里了,如果你想了解更多关于Android轻松画出触摸轨迹的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一系列 gps 值,每个值包含:timestamp, latitude, longitude, n_sats, gps_speed, gps_direction, ... ( NMEA data
我正在尝试绘制两点之间的轨迹路径。我只知道有问题的两点和它们之间的距离。我希望能够计算的是到达终点所需的速度和角度。 我还希望能够将一些重力和风因素考虑在内,这样路径/轨迹就不那么“完美”了。它用于电
有没有人对使用顶点缓冲区/4f 颜色缓冲区绘制粒子在 opengl 中对来自喷气发动机(带有加力燃烧室)的粒子流进行编码的近似值有任何指导? 我认为这个问题有两个方面: 作为温度和与燃烧的气体类型相关
问题 我正在迁移多个 ggplot/ggvis plotly 到 plotly在 shiny应用。我遇到了一个关于跟踪链接的问题。我希望能够通过 group 显示/隐藏痕迹在图例上,在相关数据框之间共
我想为玩具车在没有障碍物的平面 (2d) 上规划一条路线。玩具车应该从点 (p1x,p1y) 移动到 (p2x,p2y)(又名狄利克雷边界条件)。此外,玩具车在起点的速度是(v1x,v1y),终点处要
我正在开发一个路径/ map 应用程序,该应用程序在一个区域中绘制了自定义路径,并将帮助用户在“森林”区域的一些路径周围导航。 目前,我正在使用 MKMapView 来获取用户数据/位置,并从 KML
我目前正在尝试根据从 iPhone 视频中拍摄的一系列图像重建坠落物体(例如球或石头)的 3D 轨迹。 我应该从哪里开始寻找?我知道我必须校准相机(我想我会使用 Jean-Yves Bouguet 的
我正在尝试使用 matplotlib 在 map 上绘制 CSV 文件中的线条和标记。 数据: AL99,2017080912,SHIP,0,17.1,-55.6,25,0 AL99,20170809
我正在尝试仅使用广播源来重建篮球的 3D 轨迹。 为此,我必须计算单应矩阵,因此在每一帧中,我都成功地跟踪了球,以及它们在“现实世界”中的位置已知的 6 个点(4 个在球场上,2 个在篮板上)为在图片
如果我有一个像这样的动画圈 example , 有没有一种方法可以在 Canvas 上留下 1px 纯白色的永久痕迹? 我试过动态构建路径,但无法让它工作。 提前致谢,如有任何帮助,我们将不胜感激 最
正在工作,即将发布,没有真正的更新,[6.3.2] 突然出现此错误。 花了一天时间在 OAuthSwift V0.3.4、0.3.5、0.3.6 之间切换,同样的错误发生了。还有一次(但非常罕见),我
我正在尝试使用 matlab/octave 为这个螺旋制作动画我希望它向上或向下螺旋 t = 0:0.1:10*pi; r = linspace (0, 1, numel (t)); z = lins
我有一个有点难的算法问题,我从很多搜索中找不到任何合适的算法,所以我希望 stackoverflow 上的人可能知道答案。 我有一组车辆在 2D 空间中移动时的 x,y 坐标,坐标记录在时间段内的“决
在服务器(MySQL 或 Oracle 或任何文件)上存储 GPS 坐标(航迹)的最佳方式是什么?例如,GoogleMaps 是如何实现的?我想保存和比较相同部分的轨道。 附言我有所有必要的数据。 最
The link to download the GPS traces on OSM is quite easy to get. 但是,里面的每个文件都 super 大。而且也没有地理位置分类。所以我
这个问题与地理空间信息系统的知识有些重叠,但我认为它属于这里而不是 GIS.StackExchange 有很多应用程序处理具有非常相似对象的 GPS 数据,其中大多数由 GPX standard 定义
我正在使用此处找到的 locu-node node.js 库:https://github.com/Locu-Unofficial/locu-node ,这是 Locu 服务的 API 客户端。在提供
我正在尝试将一个元素从位置 A 动画到位置 B,但我不希望它在每个点之间线性移动,我希望有一种“抛物线”轨迹。 我可以使用 jQuery.animate() 吗? 或者我应该使用 setInterva
总结:如何避免不同线程的不同工作负载导致的性能损失? (内核在每个线程上都有一个 while 循环) 问题:我想在许多不同的初始条件下使用 Runge-Kutta 求解粒子轨迹(由二阶微分方程描述)。
我正在创建一个应用程序,其中包含一些变量的区域数据。该应用程序允许您通过 selectInput 选择用户想要可视化的区域。出于比较/信息目的,我希望用户在 plot_ly 中可视化所选区域以及全国平
我是一名优秀的程序员,十分优秀!