axure实现复选框全选_AxureRP8实战手册-案例73(全选与取消全选效果)

案例73. 全选与取消全选效果

案例来源:

百度音乐-音乐盒

案例效果:

初始状态/取消全选时:(图5-117)

全选后取消任一选项时:(图5-118)

全选/单选全部选中时:(图5-119)

案例描述:

列表中相邻的行具有交替的背景颜色;点击列表中复选框时,可以切换复选框的勾选状态,复选框被勾选时整行变为灰色,取消勾选时恢复默认颜色;列表中的复选框被全部勾选时,列表左下方的全选复选框变为被勾选状态;列表中的复选框有任何一个取消勾选时,全选复选框都会变为未勾选状态;全选复选框被主动勾选时,列表中所有的复选框均被勾选,全选复选框被主动取消勾选时,列表中所有的复选框均被取消勾选。

另外,本案例中当列表中某一行被双击时,该行为播放状态,歌曲名之前显示播放图标,并且显示听相似歌曲与看现场翻唱的按钮。

元件准备:

页面中:(图5-120)

中继器“PlayList”中:(图5-121)

中继器“PlayList”数据集中:(图5-122)

中继器“PlayList”样式设置中:(图5-123)

包含命名:

复选框(用于全选的复选框):SelectAll

文本标签(用于记录列表中复选框被勾选的数量):SelectNumber

中继器(用于歌曲列表):PlayList

组合(用于歌曲信息部分的同一操作):InfoGroup

组合(用于其它按钮部分的同一操作):ButtonGroup

图片(用于播放状态显示的频谱图标):SpectrumIcon

图片(用于显示歌曲MV图标):MVIcon

复选框(用于列表中每行的复选框):SelectItem

文本标签(用于显示歌曲名称):SongName

文本标签(用于显示歌手姓名):SingerName

文本标签(用于显示专辑名称):AlbumName

矩形(用于歌曲信息部分的灰色背景):BackgroundShape

思路分析:

完成歌曲列表的常规信息部分;(操作步骤1)

为播放状态的歌曲显示更多的按钮;显示频谱图标,将歌曲名称置于频谱图标右侧,显示整行灰色的背景;(操作步骤2)

为有MV的歌曲显示MV的图标,MV的图标在歌曲名称右侧间距5像素的位置;(操作步骤3)

双击歌曲列表中任何一项时,取消其它歌曲的播放状态,并将当前歌曲改变为播放状态;(操作步骤4~5)

勾选歌曲列表中任何一项的复选框时,整行显示灰色背景,勾选数量记录增加1;(操作步骤6)

如果勾选数量记录等于列表项的总和,勾选复选框“SelectAll”;(操作步骤7)

取消勾选歌曲列表中任何一项的复选框时,勾选数量记录减少1;取消勾选复选框“SelectAll”;(操作步骤8)

如果歌曲列表中取消勾选的项不是播放状态,取消显示整行的灰色背景;(操作步骤9)

在单击复选框“SelectAll”时判断复选框是否被勾选,如果该复选框被勾选则勾选歌曲列表中所有的复选框;否则,取消勾选歌曲列表中所有的复选框;这里需要注意的是,全选与取消全选只有在主动勾选或取消勾选复选框“SelectAll”时才能够生效,所以触发事件要选择复选框“SelectAll”的【鼠标单击时】而不是【选中时】和【取消选中时】。(操作步骤10~11)

操作步骤:

1、为中继器“PlayList”的【每项加载时】事件添加“用例1”,设置动作为【设置文本】;勾选元件“SongName”,设置文本为【值】“[[Item. SongName]]”;勾选元件“SingerName”,设置文本为【值】“[[Item. SingerName]]”;勾选元件“AlbumName”,设置文本为【值】“[[Item.AlbumName]]”;

2、继续为中继器“PlayList”的【每项加载时】事件添加“用例2”,设置条件判断【值】“[[Item.IsPlay]]”【==】【值】“True”;设置满足条件时的动作为【显示】组合“ButtonGroup”,【显示】图片“SpectrumIcon”,【移动】元件“SongName”【经过】{x}“25”{y}“0”的位置,【选中】元件“BackgroundShape”;

3、继续为中继器“PlayList”的【每项加载时】事件添加“用例3”,设置条件判断【值】“[[Item.MV]]”【==】【值】“Yes”;设置满足条件时的动作为【显示】图片 “MVIcon”,【移动】图片“MVIcon”【到达】{x}“[[s.x+s.text.length*12+5]]”{y}“[[Target.y]]”的位置;公式中“s”为局部变量,其内容为元件“SongName”的对象实例;这里要注意的是:因为,歌曲名称长度不一,所以不能移动MV的图标到固定的位置,在这里移动公式“[[s.x+s.text.length*12+5]]”的含义为“歌曲名称元件的x轴坐标值+歌曲名称字符数量*字符的宽度+5像素”;

事件交互设置:(图5-124)

4、为组合“InfoGroup”的【鼠标双击时】事件添加“用例1”,设置动作为【更新行】于中继器“PlayList”,勾选【条件】,设置条件为“True”(表示全部符合条件),【选择列】为“IsPlay”,设置列的【Value】(值)为“False”;这一步完成了取消列表中所有歌曲的播放状态;

5、继续上一步,添加动作【更新行】于中继器“PlayList”,勾选【This】,【选择列】为“IsPlay”,设置列的【Value】(值)为“True”;这一步完成了将当前歌曲设置为播放状态;

事件交互设置:(图5-125)

6、为复选框“SelectItem”的【选中时】事件添加“用例1”,设置动作为【选中】元件“BackgroundShape”;【设置文本】于元件“SelectNumber”为【值】“[[Target.text+1]]”;公式“[[Target.text+1]]”表示目标元件文字加1;

7、为复选框“SelectItem”的【选中时】事件添加“用例2”,添加条件判断【元件文字】于“SelectNumber”【==】【值】“[[Item.Repeater.visibleItemCount]]”;设置满足条件时的动作为【选中】元件“SelectAll”;公式“[[Item.Repeater.visibleItemCount]]”的返回值为当前项所在的中继器的可见项数量;完成动作设置后,在用例名称上点击,选择菜单中最后一项,将用例的条件判断由“Else If”转换为“If”;

8、为复选框“SelectItem”的【取消选中时】事件添加“用例1”,设置动作为【设置文本】于元件“SelectNumber”为【值】“[[Target.text-1]]”;【取消选中】元件“SelectAll”;公式“[[Target.text-1]]”表示目标元件文字减1;

9、为复选框“SelectItem”的【取消选中时】事件添加“用例2”,添加条件判断【值】“[[Item.IsPlay]]”【==】【值】“False”;设置满足条件时的动作为【取消选中】元件“BackgroundShape”;完成动作设置后,在用例名称上点击,选择菜单中最后一项,将用例的条件判断由“Else If”转换为“If”;

事件交互设置:(图5-126)

10、为元件“SelectAll”的【鼠标单击时】事件添加“用例1”,设置条件判断【选中状态】于“当前元件”(This)【==】【true】,设置满足条件时的动作为【选中】元件“SelectItem”;

11、继续为元件“SelectAll”的【鼠标单击时】事件添加“用例2”,设置不满足操作步骤10的条件时,执行动作为【取消选中】元件“SelectItem”。

事件交互设置:(图5-127)

~~~~~~~~~~~~ 正文结束 下面没了 ~~~~~~~~~~~~

小楼老师全新打造Axure RP 9精品课程,以独有的教学方法与技巧,帮助你以最短的时间高效的完成学习目标。

《Axure RP 9 萌新修炼视频》-----从零入门进阶的优质课程------【点此查看详情】

喜欢 (51)or分享 (0)

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

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

相关文章

移植Linux3.4.2版本内核到mini2440

一. 内核启动流程,据此配置内核(机器ID) 1. 获取内核源码 www.kernel.org https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.2.tar.bz2 2. 解压内核 # tar xjvf linux-3.4.2.tar.bz2 3. 修改顶层Makefile,指定交叉编译器 ARCH ? arm CRO…

在浏览器的背后(二) —— HTML语言的语法解析

当你看到这篇文章意味着我辜负了教主的殷切期望周末木有去约会,以及苏老师我思故我在北京鼓楼的落井下石成功了…… 本文demo powered by 已经结婚的老赵的不再维护的wind.js 物是人非啊…… 说回正经事,在上一篇文章中,我们取得了初步成果&a…

面经——小米面经(2021春招)

摘自:小米面经(2021春招)——感谢小米、感谢雷总、感谢上官可编程 作者:阿波罗啦啦啦啦 发布时间: 2021-05-01 11:08:41 网址:https://blog.csdn.net/weixin_44933419/article/details/116325554 3月31日投…

使用arm混合汇编计算两个64位的和_混合使用C、C++和汇编语之: C、C++ 和 ARM 汇编语言之间的调用...

12.4C target_blank stylecursor:pointer;color:#D05C38;text-decoration:underline;>C、C和ARM汇编语言之间的调用本节提供一些示例,显示如何从C调用C和汇编语言代码,以及从C和汇编语言调用C代码。其中包括调用约定和数据类型。主要包括下面内容&…

记一次用WPScan辅助渗透WordPress站点

记一次用WPScan辅助渗透WordPress站点 一、什么是WPScan? WPScan 是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto ,它是一款非常棒的 Web 服务器评…

移植tslib(s3c2440)

解压安装tslib # tar -zxvf tslib-1.4.tar.gz # cd tslib # ./autogen.sh #echo “ac_cv_func_malloc_0 _nonnullyes”>arm-linux.cache # ./configure –hostarm-linux –cache-filearm-linux.cache -prefix/usr/local/tslib ac_cv_func_malloc_0_nonnullyes # make …

什么是Cortex、ARMv8、arm架构、ARM指令集、soc

参考:到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】 发布时间: 一口Linux 网址:https://blog.csdn.net/daocaokafei/article/details/109008103 目录前言1. ARM公司2. ARM内核与架构1&#xff…

Windows下Qt5搭建Android开发环境笔记

Windows很大的特点是配置使用几乎都可以图形化进行,和Linux比起来在很多时候配置环境也要方便很多。所以,搭建Qt for Andorid也是十分简单的。需要以下工具:1.最方便的Qt官方包,现在还处于RC阶段,经过测试也是有些小bu…

大学python怎么过_大学生该不该学Python?太纠结了?

首先,在大学期间的学习任务应该围绕自身的专业课程体系来展开,对于计算机相关专业的同学来说,学习Python还是有一定必要的,作为一门全场景编程语言,Python在大数据、人工智能等领域的应用还是比较广泛的,掌…

python中的列表,添加元素,获取元素,删除元素,列表分片,常用操作符

一. 创建列表,分为创建普通列表,混合列表,和空列表。其中混合列表是指string,int, float等都可以写在同一个列表里,空列表是指列表可以为空 二. 在列表添加成员方法 1. append(&#xff09…

对于嵌入式交叉编译总结

这几天终于搞定了老师项目里我负责的部分,主要是做一个图像采集的手持端,我选用了JZ2440。 从移植内核、制作文件系统、Qt移植总结下来发现在对于代码的交叉编译必须保证编译平台的一致性。对于s3c2440来说是armv4t,所以当我们编译出来程序必…

Linux下svn搭建配置

Linux下svn搭建配置1、安装svn客户端yum install subversionsvnserve --version ;如果成功安装,可以看到输出版本信息2、配置svn mkdir -p /data/svn ;创建svn目录svnadmin create /dat…

rstudio 导出结果_RStudio如何完美导出包含中文的图

这篇文章源于我自己使用R及RStudio数据处理时遇到的问题,R非常强大,但是在中文支持方面还是不是很完美,比如遇到你想导出一个含有中文的图,就会遇到问题。比如有这样一个简单的图:data plot(data,xlimc(1,3),ylimc(2,3…

CSS进阶学习

5种主流浏览器及内核 IE trident Chrome webkit/blink Firefox gecko Opera presto 3%-5% Safari webkit css引入三种方式 行间样式 页面级 外部css文件 同步:顺序进行。一件事做完做另一件事。 异步:同时进行。两件不同的事同时做。 CSS权重&#xff…

linux驱动调试--oops信息

在移植dm9000 时被一个错误困扰了很久,当时手里只有printk调试手段,觉得自己应该升级下了,先学习了根据oops信息来调试。 先构造一个错误,insmod后抛出如下信息 我们着重看这几句 PC is at memcpy0x8c/0x29c c0148080 pc : …

浏览器输入网址后发生了什么?

摘自:这是最全的一篇!!!浏览器输入网址后发什么了什么? 作者:程序员cxuan 发布时间: 2021-04-15 11:59:07 网址:https://blog.csdn.net/qq_36894974/article/details/115720479 到现…

python默认参数只被解释一次_深入讲解Python函数中参数的使用及默认参数的陷阱...

C里函数可以设置缺省参数,Java不可以,只能通过重载的方式来实现,python里也可以设置默认参数,最大的好处就是降低函数难度,函数的定义只有一个,并且python是动态语言,在同一名称空间里不能有想多名称的函数…

fancybox去除不受待见的水平滚动条

用fancybox在嵌套某个页面时,有时莫名其妙的会出现的消除不掉的幽灵般水平滚动条,如何去除: github上的解决方案:https://github.com/fancyapps/fancyBox/issues/24 转载于:https://www.cnblogs.com/kinpauln/p/3145796.html

Word Count作业

Word Count作业 一.个人Gitee地址&#xff1a;https://gitee.com/Changyu-Guo 二.项目简介 该项目主要是模拟Linux上面的wc命令&#xff0c;基本要求如下&#xff1a; 命令格式&#xff1a; wc.exe [para] <filename> [para] <filename> ... -o <filename> 功…

iDempiere = OSGi + ADempiere 一款ERPCRMSCM系统、助力中小企业发展

怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建。http://osssme.org/ iDempiere OSGi ADempiere 一款ERP&CRM&SCM系统、助力中小企业发展 一句话概括iDempiere是一款基于Compiere/ADempiere的​开源企业级ERP&CRM&SCM系统​&…