【Axure教程】滑动内容选择器

滑动内容选择器通常是一种用户界面组件,允许用户通过滑动手势在一组内容之间进行选择。这种组件可以在移动应用程序或网页中使用,以提供直观的图片选择体验。

那今天就教大家如何用中继器制作一个滑动内容选择器,我们会以滑动选择电影为案例,具体实现的效果如下:

一、效果展示

1、可以左右拖动选择电影,选择对应的电影

2、也可以通过鼠标单击,快速选择对应的电影

3、选中的电影会放大,背景大图会显示该电影的大图(部分)

4、下面会回显已选择的电影的信息

图片

【原型预览含下载地址】

https://axhub.im/ax9/aeb3641f0e953d73/#&g=1&p=影院详情

二、制作教程

1. 图片中继器的设置

我们需要增加一个中继器,在里面添加一个图片元件和透明的矩形,如下图所示摆放

图片

中继器表格里增加一下几列

no列:对应序号,按12345……顺序填写即可

pic列:图片列,鼠标右键导入对应图片

name列:对应电影名

score列:对应评分

introduce列:对应基本介绍

xuanzhong列:用于控制哪项被选择,如果值等于1,就默认该行内容被选中,一般默认第一行内容被选中

图片

填写完成后,在中继器每项加载时,我们添加交互,用设置图片的交互,将图片设置到中继器里面的图片元件。

图片

2. 大图的设置

我们增加一个图片元件,宽度和沾满手机屏幕,上面放置一层半透明的遮罩,大图只显示一部分内容,即遮罩所在的区域。

在遮罩所在区域的底部居中位置,我们放置一个倒三角形,图片移入该区域,就是选中该图片的意思。

图片

我们将这里面所有元件转为动态面板,因为只有动态面板才能显示一部分内容,而且可以写拖动的交互。

我们在中继器每项加载时添加条件,我们定义如果xuanzhong列的值等于1,那该部分内容就是被选择的,所以我们用设置图片的交互,将符合条件的所在行pic列的图片值设置到背景大图里

图片

3. 回显内容的设置

我们增加两个文本标签,分别对应于介绍文字和电影名,如下图所示摆放

图片

在内容被选择后,我们通过设置文本的交互,将被选择锁在行name列的值设置到电影名的文本标签,将introduce列和score列的值分别设置介绍的文本标签里

图片

4. 选中图片放大的交互

在内容被选择后,我们通过设置尺寸的的交互,将对应的图片设置大一点,这样就有突出选中的效果

图片

5.动态面板拖动时的设置

鼠标拖动图片区域的动态面板时,我们用移动的交互,将图片中继器移动,但是这里需要注意,移动的交互无法直接移动中继器原件,所以我们可以把中继器组合一下,然后移动中继器组合。移动我们选择跟随鼠标水平移动,并且根据实际情况设置移动的边界。

图片

拖动结束时,我们要先判断移动了多少格,例如一格的宽度是137,那他可能移动了200的距离那这就相当于移动了1-2格的距离,所以我们要用tofixed函数来进行四舍五入,得到一个整数的移动数

然后我们在用移动的事件,将图片中继器组合移动到对应格数的位置,例如200/137=1.46,四舍五入之后其实就是移动了一格。

然后我们我们再用更新行的交互,这里移动格数和中继器序号相等的相当于被选择了,所以我们将他选中列的值更新为1。这里还需要考虑到的一点是,前面可以能已经有其他行被选择,他xuanzhong列的值已经是1了,所以我们要用标记行的交互,先标记所有行,然后把所有行xuanzhong列的值更新为0,再执行上述的交互。

图片

6.鼠标单击图片的交互

这里和上面的原理基本一致,但是我们就不需要计算移动了多少格,我们直接从点击的图片所在的行数就可以判断了,例如第几第三张图片,就是要移动到第三格的位置,所以后面移动的交互,以及先标记所有行,然后把所有行xuanzhong列的值更新为0,都是和前面一样的

图片

这样我们就完成了滑动内容选择器_选择电影案例的制作了,下次使用也很方便,我们只需要在中继器表格里填写内容,即可自动生成交互效果。后续我们也可以根据需要增加一些中继器之间的联动,例如通过是筛选事件查看对应的电影排期等效果

那以上就是本期教程的全部内容,感兴趣的同学们可以动手试试哦,感谢您的阅读,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/198885.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS开发】设备调试避坑指南

备注:通过开发验证,发现每个设备调试都会存在不小的差别,开发验证需要注意~ 1、预览器调试(只能预览具有Entry修饰的文件) 修改文件,预览器将自动刷新 注意:当我们只修改了Component 组件的文件…

【从入门到起飞】JavaSE—带你了解Map,HashMap,TreeMap的使用方法

🎊专栏【Java基础】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🌺双列集合的特点🎄Map🍔Ma…

系列九、JUC强大的辅助类

一、CountDownLatch 1.1、概述 让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒 1.2、功能 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞,其它线程调用countDown方法会将计数器减1(调用countDown方…

机器学习介绍与分类

随着科学技术的不断发展,机器学习作为人工智能领域的重要分支,正逐渐引起广泛的关注和应用。本文将介绍机器学习的基本概念、原理和分类方法,帮助读者更好地理解和应用机器学习技术。 一、机器学习的基本概念 机器学习是一种通过从数据中学…

如何查看 class 文件的编译器版本

文章目录 原理分析解决方案其它解决方案javap 命令行工具 在平时的 Java 开发中,有时候我们需要知道某个 class 文件是由哪个版本的 Java 编译器编译生成的 原理分析 class 文件,即字节码文件,它有特定的二进制格式,这种格式是由…

【自我管理】To-do list已过时?学写Done List培养事业成功感

自我管理:已完成清单(doneList)培养事业成功感 待办事项清单常常让人感到压力山大,让人不想面对工作。但是,你知道吗?除了待办清单之外,还有一个叫做「已完成清单」的东西,它可能更符…

广西柳州机械异形零部件三维扫描3D抄数全尺寸测绘建模-CASAIM中科广电

一、背景介绍 复杂机械异形零部件具有不规则的形状和复杂的结构,给生产制造带来了很大的检测难度。为了确保零部件的制造质量和精度,需要对零部件进行全面的尺寸检测和分析。 CASAIM三维扫描仪在机械异形零部件全尺寸检测应用可以实现对机械异形零部件…

git rebase 和 git merge的区别?以及你对它们的理解?

文章目录 前言是什么分析区别后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:git操作相关 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢…

单链表相关面试题--2.反转一个单链表

/* 解题思路: 此题一般常用的方法有两种,三指针翻转法和头插法 1. 三指针翻转法记录连续的三个节点,原地修改节点指向 2. 头插法每一个节点都进行头插 */ // 三个指针翻转的思想完成逆置 struct ListNode* reverseList(struct ListNode* head…

前端为什么要工程化

前端为什么要工程化 文章目录 前端为什么要工程化传统开发的弊端一个常见的案例更多问题 工程化带来的优势开发层面的优势团队协作的优势统一的项目结构统一的代码风格可复用的模块和组件代码健壮性有保障团队开发效率高 求职竞争上的优势 现在前端的工作与以前的前端开发已经完…

SourceTree修改Git密码

SourceTree用的好好的,无奈公司隔段时间强制更改电脑密码。更改完成后SourceTree无法使用,重新输入密码。VS的nuget也是。查资料虽然也能比较快的解决,但是。。。。在此转载记录下。 1. 找到 SourceTree 配置文件所在目录 ‘userhosts’ 目录…

Python基础:迭代器(Iterators)详解

什么是迭代器? 迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 1. 迭代对象 Python中使用迭代器的地方很多,大多数的容器对象都是可迭代对象&#xff…

T10 数据增强

文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强(增加数据集中样本的多样性)三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 🍨 本文为🔗365天深度学习训练营 中的学习记录博客&#x1f…

Scrapy----Scrapy简介

文章目录 概述与应用背景架构和组件功能和特点社区生态概述与应用背景 Scrapy,一个高效、灵活、且强大的Web爬取框架,被广泛应用于数据抓取和网页内容的结构化提取。它是用Python编写的,支持多平台运行,适用于数据挖掘、在线零售信息收集、历史数据存档等多种场景。Scrapy…

thinkphp8 DB_PREFIX 属性

设计表的时候使用**_user, **就是前缀,DB_PREFIX就是默认把前缀给去掉 在config/database.php prefix,改成你的前缀,数据库的表重命名‘ltf_user’ 代码调用 $user Db::name("user")->select();return json($user);之前是使用…

4.1 Linux操作系统

个人主页:Lei宝啊 愿所有美好如期而遇 我们上次了解了从操作系统往下的部分:Linux进程前导知识 这一次,我们将正式开始进程以及操作系统(OS)及其以上的部分。 我们将操作系统的内存管理,进程管理,文件管理等等称为操…

安防视频监控平台EasyCVR服务器部署后出现报错,导致无法级联到域名服务器,该如何解决?

视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,安防监控平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控…

Git详解

Git是一个开源的分布式版本控制系统,常用于软件开发中对代码版本管理。Git具有版本控制、协作开发、分支管理、代码审查等功能,能够记录每次代码修改的内容和时间,并能够回滚到任意历史版本,方便团队协作和代码维护。 Git的基本概…

在通用jar包中引入其他spring boot starter,并在通用jar包中直接配置这些starter的yml相关属性

场景 我在通用jar包中引入 spring-boot-starter-actuator 这样希望引用通用jar的所有服务都可以直接使用 actuator 中的功能, 问题在于,正常情况下,actuator的配置都写在每个项目的yml文件中,这就意味着,虽然每个项目…