Android 室内定位系列:1地图构建
Path类可以预先在View上将N个点连成一条"路径",然后调用Canvas的drawPath(path,paint)即可沿着路径绘制图形
Android还为路径绘制提供了PathEffect来定义绘制效果,PathEffect包含如下子类
ComposePathEffect
CornerPathEffect
DashPathEffect
DiscretePathEffect
PathDashPathEffect
SumPathEffect
下面的示例将会逐一使用上面的绘制效果
- package WangLi.Graphics.PathTest;
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.ComposePathEffect;
- import android.graphics.CornerPathEffect;
- import android.graphics.DashPathEffect;
- import android.graphics.DiscretePathEffect;
- import android.graphics.Paint;
- import android.graphics.Path;
- import android.graphics.PathDashPathEffect;
- import android.graphics.PathEffect;
- import android.graphics.SumPathEffect;
- import android.os.Bundle;
- import android.view.View;
- public class PathTest extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(new MyView(this));
- }
- class MyView extends View
- {
- float phase;
- PathEffect[] effects = new PathEffect[7];
- int[] colors;
- private Paint paint;
- Path path;
- public MyView(Context context) {
- super(context);
- paint = new Paint();
- paint.setStyle(Paint.Style.STROKE);
- paint.setStrokeWidth(4);
- //创建,并初始化Path
- path = new Path();
- path.moveTo(0, 0);
- for(int i = 1; i<= 15; i++)
- {
- //生成15个点,随机生成它们的坐标,并将它们连成一条Path
- path.lineTo(i*20, (float)Math.random()*60);
- }
- //初始化七个颜色
- colors = new int[] {
- Color.BLACK,Color.BLUE,Color.CYAN,
- Color.GREEN,Color.MAGENTA,Color.RED,Color.YELLOW
- };
- }
- protected void onDraw(Canvas canvas)
- {
- //将背景填充成白色
- canvas.drawColor(Color.WHITE);
- //-------下面开始初始化7中路径的效果
- //使用路径效果
- effects[0] = null;
- //使用CornerPathEffect路径效果
- effects[1] = new CornerPathEffect(10);
- //初始化DiscretePathEffect
- effects[2] = new DiscretePathEffect(3.0f,5.0f);
- //初始化DashPathEffect
- effects[3] = new DashPathEffect(new float[]{20,10,5,10},phase);
- //初始化PathDashPathEffect
- Path p = new Path();
- p.addRect(0, 0, 8, 8, Path.Direction.CCW);
- effects[4] = new PathDashPathEffect(p,12,phase,PathDashPathEffect.Style.ROTATE);
- //初始化PathDashPathEffect
- effects[5] = new ComposePathEffect(effects[2],effects[4]);
- effects[6] = new SumPathEffect(effects[4],effects[3]);
- //将画布移到8,8处开始绘制
- canvas.translate(8, 8);
- //依次使用7中不同路径效果,7种不同的颜色来绘制路径
- for(int i = 0; i < effects.length; i++)
- {
- paint.setPathEffect(effects[i]);
- paint.setColor(colors[i]);
- canvas.drawPath(path, paint);
- canvas.translate(0, 60);
- }
- //改变phase值,形成动画效果
- phase += 1;
- invalidate();
- }
- }
- }
效果如下
Android 室内定位系列:1地图构建相关推荐
- 百度地图android室内定位,百度地图4.0正式发布,主打免费语音导航、室内定位、实时公交和生活搜索 (视频)...
自2010年10月百度地图在塞班平台上线了第一个版本以后,陆续登陆了Android和iPhone平台,据百度地图团队介绍,其最新的用户数已达7000万.今天,百度地图4.0 正式发布(iPhone版 ...
- android室内定位+3d,基于Android平台的手机室内定位及导航的设计与实现
摘要: 随着无线通信网络技术的发展,智能手机逐渐融入到人们的日常生活中.它不仅满足当今人们对于通话短信等基本功能的需求,而且还满足人们对于娱乐.上网.社交等功能的需求.导航功能是现在人们常用的一个功能 ...
- 室内定位系列 ——WiFi位置指纹(译)
摘要 GPS难以解决室内环境下的一些定位问题,大部分室内环境下都存在WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法.然而WiFi并不是专门为定位而设计的,传统的基于时 ...
- Android调用WebService系列之对象构建传递
上一篇我们讲了如何封装Android调用WebService的能力,把上一章的类加入我们便有了与WebService通讯的能力.往往我们会遇到WebService调用是通过对象来进行实际交互调用的.于 ...
- android室内定位传感器辅助pdr jar,基于Android的PDR和WiFi指纹融合室内定位技术研究...
摘要: 随着三大通信运营商"4G+"技术发力和基于"互联网+"相关产业的快速发展,基于位置的服务(Location-based Services,LBS)在市场 ...
- android室内定位传感器辅助pdr jar,基于PDR辅助的视觉室内定位算法的研究
1引言由于室内环境复杂多变,人们对于室内位置服务的要求也越来越高.一系列的定位技术如Wi-Fi定位.蓝牙定位.惯性导航系统(INS, Inertial NavigationS y s t e m).基 ...
- android室内定位传感器辅助pdr ,传感器辅助的WiFi指纹室内定位方法.pdf
传感器辅助的WiFi指纹室内定位方法.pdf 第 1期 中嚼荡:舛謦呵宪成.簪椒 VoI.10No.1 2015年 2月 JournalofCAEIT Feb. 2015 doi:10.3969/j. ...
- 室内定位 基于CAD 地图 基于Openlayers 室内地图 SHP WEB Geoserver 井下人员定位
项目需求主要是实现井下的人员定位功能,通过项目方给的dwg格式地图,以web的形式进行加载,进而在地图上实时显示人员位置,点击查看人员信息,绘制人员历史轨迹,统计等主要功能.
- 室内定位指纹采集系统-Android WIFI版本
本文主要介绍了物联网室内定位中,指纹定位系统研究过程中需要的软件开发思路,目前完成的有Android端WIFI信号的获取与划定采集区域采集WIFI信号指纹库等功能. 声明: 本系统涉及软件只用于学术研 ...
最新文章
- 你猜猜typeof (typeof 1) 会返回什么值(类型)?!
- Qt设置应用程序图标
- (转)SSL/TLS 漏洞“受戒礼”,RC4算法关闭
- 分类9个无理数并比较他们之间的分布差异
- Qt QGraphics体系及刷新机制介绍
- React开发(208):react代码分割在嵌套组件中更新 Context
- vue-cli-service不是内部或外部命令,也不是可运行的程序
- 计算机组成原理R0bus是什么,计算机组成原理实验 堆栈寄存器实验
- w ndows10玩游戏蓝屏,Win10系统玩游戏蓝屏提示代码0x0000007E的两种解决方法
- 设置webstorm实时预览看这一篇就够了,5分钟解决!!
- 大数据架构由哪些模块组成
- C语言程序设计 基础入门(认识、描述与计算)
- 解密中国网络游戏业的黑暗骑士:响尾马(下)
- cr3格式是什么意思_佳能rp的cr3如何打开?修图为什么要用raw格式?转码又是什么?...
- H5调起手机端的摄像头
- 报错Found existing installation: tensorflow 1.2.1
- 仿微信.QQ聊天界面
- 理]疏通中国历史脉络——“魏(三国)、晋(五胡十六国)、南北朝”篇
- python实现BMI计算器
- 使用公众号快速申请小程序的流程