2016 - 2024

感恩一路有你

如何优化Axure设计:拖拽控件上下排序

浏览量:1113 时间:2024-07-17 11:38:40 作者:采采

在之前的一篇文章中,我们介绍了如何使用Axure设计一个拖拽控件上下排序的功能。但是,我们使用了一个临时解决方案——“绝对数值”,这种方法虽然可以快速实现,但是在实际应用过程中存在通用性不足等问题。因此,今天我们将为大家介绍一种更加优化的代码编写方式,使得我们的拖拽控件上下排序功能更加实用。

一、导入上一篇的控件

首先,我们需要导入上一篇文章中设计好的拖拽控件上下排序的控件,如果您还没有进行过设计,请参考以下链接:Axure设计:拖拽控件上下排序。

二、新建矩形并设置为隐藏

为了避免各控件的全局变量混乱,我们新建了一个名为“Label”的矩形,并将其设置为隐藏。您也可以设置一个全局变量,比如:X。习惯新建“文本标签”或“矩形”替代全局变量,以避免混淆。

三、调整布局

在此步骤中,我们需要进行以下操作:

- 设置”矩形:background”的大小为400*360;位置(118,80)。

- 设置”动态面板:组件1”的大小为240*80;位置(200,100)。即“矩形:background”的顶部和”动态面板:组件1”的顶部间隔为20;同理,“矩形:background”的底部和”动态面板:组件4”的底部间隔也为20。

四、修改“动态面板:组件1“代码

注意:其他“组件”的代码相同,只需要进行复制即可。

五、拖动开始时的Case1用例

在拖动开始时,我们需要完成以下操作:

- 隐藏”动态面板:组件1“;

- 拉动元件:下方;

- 动画:线性;

- 时间:100毫秒;

- 显示”动态面板:组件1“,并置于顶层;

- 设置不透明度:80%;

- 设置“矩形:Label”的值为:[[this.y]]。

隐藏”动态面板:组件1“时的拉动元件,可以不设置动画,设置动画及时间是为了有个“移动”的感觉,副作用就是相应的操作不能过快。

六、拖动时的Case1用例

在拖动时,我们需要完成以下操作:

- 垂直拖动“动态面板:组件1“;

- 移动:垂直拖动;

- 设置界限;

- 其中,设置“元件:background”为局部变量LVAR1;所以,界限的顶部大于等于[[]],底部小于[[]]。

七、拖动结束时的Case1用例

在拖动结束时,我们需要完成以下操作:

- 设置不透明度:100%;

- Case2判定条件:“值:[[this.y]]大于[[LVAR1.y 20]]“且”值:[[this.y]]小于等于[[LVAR1.height-20]]“;

- 动作:移动当前元件到达指定(X,Y);隐藏当前组件;显示当前组件;推动元件:下方;

- 其中,设置“元件文字:Label”为局部变量LVAR1;所以,X值为[[this.x]],Y值为[[Math.ceil(TotalDragY/this.height)*this.height LVAR1]]。

八、Case3和Case4

- Case3判定条件:“值:[[this.y]]小于等于[[LVAR1.y 20]]“;

- 动作:移动当前元件到达指定(X,Y);隐藏当前组件;显示当前组件;推动元件:下方;

- 其中,设置“元件:background”为局部变量LVAR1;所以,X值为[[this.x]],Y值为[[LVAR1.y 20]]。

- Case4判定条件:“值:[[this.y]]大于[[LVAR1.height-20]]“;

- 动作:移动当前元件到达指定(X,Y);隐藏当前组件;显示当前组件;推动元件:下方;

- 其中,设置“元件:background”为局部变量LVAR1;所以,X值为[[this.x]],Y值为[[LVAR1.height-20]]。

九、复制代码

最后,我们只需要复制“动态面板:组件1“交互代码给其他“组件”,就能够实现整个拖拽控件上下排序的功能。

总结

本文为大家介绍了如何优化Axure设计中的拖拽控件上下排序的功能,使其更加实用。通过以上操作,我们可以避免在实际应用中出现通用性不足等问题。希望本文对您有所帮助。如果您觉得不错,也请投个票,点赞支持哦!

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。