movable-area实现可拖动悬浮图标

movable-area实现可拖动悬浮图标

微信官方文档地址

movable-view的可移动区域

实现代码

1.wxml

<movable-area bindtap='gotoHome'>
	<movable-view x="{{x}}" y="{{y}}" direction="all">
		<image src="../../../../images/gohome.png"></image>
	</movable-view>
</movable-area>

2.wxss

movable-area{
	width:100%;
	height:100%;
	position:fixed;
	pointer-events: none;
}
movable-view{
	width:170rpx;
	height:50rpx;
	pointer-events: auto;
}

3.js

data:{
	x: 0,
	y: 0,
 }

需自己控制初始位置

注意点

悬浮图标可拖动,设置的移动范围一般为整个屏幕,再此过程中需进行以下设置,否则悬浮窗口下方内容是无点击效果

movable-area 需设置 pointer-events: none
movable-view 需设置 pointer-events: auto

在微信小程序的原生开发中,`movable-area`和`movable-view`组件主要用于实现列表项的拖动排序功能。这两个组件配合使用可以让你创建一个用户能够直接通过拖拽操作调整列表元素顺序的应用场景。以下是基本的工作原理: 1. `movable-area`: 这是一个容器组件,它提供了一个区域供子组件(如`movable-view`) 可以自由移动。你需要设置`binddragstart`, `binddragmove`, `binddragend`等事件处理器来跟踪用户的拖拽动作。 2. `movable-view`: 这是实际可以被拖动的视图组件,通常包含列表项的内容。它会响应`draggable`属性,当设置为true时,允许用户对其进行拖拽操作。同时,你也可以自定义样式和处理拖动过程中的状态变化。 要使用它们,首先在WXML文件中添加`movable-area`,然后将`movable-view`作为其子元素。在WXSS中设置样式,并在JS或WXS文件中编写事件处理器,处理开始拖动、移动和结束拖动的逻辑,包括更新数据源以反映新的排列顺序。 ```html <!-- WXML --> <movable-area binddragstart="handleDragStart" binddragmove="handleDragMove" binddragend="handleDragEnd"> <view wx:for="{{ listItems }}" draggable="true" index="{{index}}" class="list-item">{{item}}</view> </movable-area> <!-- JS 或者 WXS --> Page({ data: { listItems: [...], // 初始列表项 }, handleDragStart(e) { // 开始拖动处理 }, handleDragMove(e) { // 移动过程中处理 }, handleDragEnd(e) { // 结束拖动并同步数据 } }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值