Android扫地机器人自定义View

11 篇文章 0 订阅
1 篇文章 0 订阅

SweeperMap

之前项目制作的扫地机器人自定义View,现在开源给大家.思路以及实现都比较简单,希望能给大家提供一些参考.

扫地机器人地图的自定义View,支持类似于百度地图的手势缩放功能。

源码大家可以到我的github上下载:
https://github.com/stramChen/SweeperMap

实现效果:

在这里插入图片描述

使用方式

  1. 引入XML布局
<com.xxx.xxx.AreaRoomView
   android:id="@+id/area_view"
   android:layout_width="match_parent"
   android:layout_height="300dp"
   android:background="@color/white" />
  1. 设置数据
AreaRoomView areaRoom = findViewById(R.id.area_view);
List<AreaBean> areaBeans = new ArrayList<>();
//AreaBean对应的参数为,坐标点的id,x坐标,y坐标,障碍物标识符(0无障碍物,1有障碍物)
areaBeans.add(new AreaBean(1,1,1,1));
areaBeans.add(new AreaBean(2,1,2,1));
areaBeans.add(new AreaBean(3,2,2,1));
//设置数据,true为向地图里追加,false为刷新地图从头开始追加数据
areaRoom.setDatas(areaBeans, true);
  1. 清除数据
areaRoom.clear();

备注:
附上底部布局

<LinearLayout
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:gravity="center_vertical|right"
	android:background="@color/white"
	android:orientation="horizontal">
	<View
		android:layout_width="10dp"
		android:layout_height="10dp"
		android:background="@drawable/shape_blue_point"/>
	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginLeft="5dp"
		android:layout_marginRight="11dp"
		android:text="机器人"/>
	<View
		android:layout_width="10dp"
		android:layout_height="10dp"
		android:background="@drawable/shape_yellow_point"/>
	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginLeft="5dp"
		android:layout_marginRight="11dp"
		android:text="已打扫"/>
	<View
		android:layout_width="10dp"
		android:layout_height="10dp"
		android:background="@drawable/shape_empty_point"/>
	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginLeft="5dp"
		android:layout_marginRight="11dp"
		android:text="未打扫"/>
	<View
		android:layout_width="10dp"
		android:layout_height="10dp"
		android:background="@drawable/shape_gray_point"
		android:visibility="gone"/>
	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginLeft="5dp"
		android:layout_marginRight="10dp"
		android:text="障碍物"
		android:visibility="gone"/>
</LinearLayout>

如有任何疑问,请联系邮箱569133338@qq.com

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值