局部纵向和横向滚动-股票

局部纵向和横向滚动-股票

素材清单

detail1.png
detail2.png
detail3.png

涉及的技能

  1. 动态面板的叠加嵌套
  2. 交互事件:OnSwipeLeft,OnSwipeRight。

案例效果

本例模拟iOS 的 股票app,上部的股票列表可以上下拖动,下部的详细信息可以左右拖动换屏显示不同类型信息。

效果.gif

移动链接如下:
局部纵向和横向滚动

简明步骤

  1. 主界面布局。
  2. 添加股票名称中的热区,让详细信息随着股票名称变化。
  3. 股票列表的上下拖拽。
  4. 详细信息的动态交互。

具体步骤及说明

1. 主界面布局。

1.新建一个项目,命名为“局部纵向和横向滚动”。

2.添加动态面板dpStock作为股票列表的显示,参数如下:

| 名称 | 类型 | 坐标 | 尺寸 |
| ------------ | ------------- | ------------ |
| dpStock | Dynamic Panel | 0,0 | 414,400 |

3.添加动态面板dpDetail作为股票明细信息的显示,参数如下:

| 名称 | 类型 | 坐标 | 尺寸 |
| ------------ | ------------- | ------------ |
| dpDetail | Dynamic Panel | 0,400 | 414,296 |

4.添加动态面板dpFooter作为 底部提示信息的显示,参数如下:

| 名称 | 类型 | 坐标 | 尺寸 |
| ------------ | ------------- | ------------ |
| dpFooter | Dynamic Panel | 0,696 | 414,40 |

5.在dpStock的 state1中添加动态面板dpStockList作为股票列表的上下滚动容器,高度比dpStock的高度400略大,能够有上下滚动的空间即可,这里设置为500,参数如下:

| 名称 | 类型 | 坐标 | 尺寸 |
| ------------ | ------------- | ------------ |
| dpStockList | Dynamic Panel | 0,0 | 414,500 |

6.参考素材截图.png中的上部分股票列表,在dpStockList中制作股票列表模拟界面。这里面用一个黑色矩形作为背景,坐标和尺寸为(0,0,414,500)。文本标签文字设置为白色,字号18,显示股票代码和价格点数,红色和绿色圆角矩形作为涨跌幅。

screen1.PNG

7.在dpDetail的 state1中添加详细信息的第一屏,可以继续参考上图。这里可以直接使用截屏的图片资源detail1.png,拖到动态面板中去,坐标和尺寸为(0,40,414,256)。上面还是40高度的空白,使用 label 控件,坐标和尺寸为(0,0,414,40),字体18号居中,背景为黑色,并命名为lbCompany,显示他们的股票名。

8.在dpDetail中添加 state2和 state3,由于没有功能性的控件需求,我们也直接使用截图代替,分别在两个 state 中拖入2个图片资源detail2.pngdetail3.png,坐标和尺寸都为(0,0,414,296)。

9.在dpFooter中添加黑色背景和3个圆形小按钮,模拟 PageControl控件,仍然参考screen1.png。3个圆形小按钮可以用矩形或者按钮控件制作。拖入矩形后,右键选择select shape,选择eclipse,然后分别设置这三个圆形的坐标和尺寸为(170,13,10,10),(201,13,10,10),(232,13,10,10),可以用上下左右微调位置,用aligndistribute工具调整相对位置。

布局基本结束。widget manager 的截图如下:

widget.png

2. 添加股票名称中的热区,让详细信息随着股票名称变化。

1.在dpStock的 state1里面,DOW J 和 AAPL 两个股票指数位置,我们拖拽2个HotSpot热区控件,让这两个股票可以接受点击的交互操作。为了简单起见,我们只做这两个股票的响应。在这两个热区控件上添加交互用例,添加OnClick事件,实现显示公司名的lbCompany根据我们点击的股票名变化。

2.选中DOW J的热区,在交互窗口添加OnClick事件,在用例编辑器中选择Set Text,在右侧窗口中找到前述显示公司名的标签lbCompany打钩,右下角的 value为DOW J,确定,如下图:

case1.png

3.选中AAPL的热区,同上方法添加用例如图:

case2.png

4.预览,点击这两个带热区的股票,下面详细信息中的公司名会跟随变化。

3. 股票列表的上下拖拽。

1.添加 dpStockList 的拖动交互。在dpStock的 state1里面, 选择dpStockList添加OnDrag 事件,选择MovedpStockList,在 y 轴方向拖动,如下图:

case3.png

2.添加 OnDragStop 事件来避免拖动出界。结果如下图:

case4.png
case5.png

当 this.y 大于0时,是向下拖动到顶的情况,这时应该将股票列表的坐标初始化到(0,0),这里还加入了500ms 的线性动画延时效果。
当 this.y 小于0时,是向上拖动到底的情况,这时我们应该将股票列表恢复到底部,y 坐标应该是400(dpStock 的高)-500(dpStockList 的高)。

4. 详细信息的动态交互。

1.详细信息支持左右滑动的交互,在 dpDetail 的3个状态间切换。

另外,还需要加一个白色圆形按钮,命名为 rectDot作为当前页的标志。我们在 home 页面添加,从dpfooter 里面复制出来即可,换成白色,坐标和尺寸为(170,400+296+13,10,10),先跟3个圆形按钮中的第一个重合,而那3个圆形按钮应设置成灰色以示区别。

2.在 home 页面中选中dpDetail,添加OnSwipeLeftOnSwipe Right事件。

编辑 case1的条件,如果当前的状态不是第三个,则向左移动 dpDetail 到下一个状态, 选中wrap from last to first,表示第三个过后的下一个状态是回到第一个。进入和淡出的动画效果为slide In500ms和Slide out500ms。如图:

case6.png
case7.png

另外,还要移动rectDot,向右移动31(3个圆形按钮之间的距离)。如图:

case8.png

3.编辑 case2的条件,双击OnSwipeLeft,跟 case1的设置一样。不同之处在对rectDot,当到达最后一个圆形按钮继续右移,会回到第一个。如图:

case9.png

4.这里还要对前面两个热区的交互做出修改,当点击热区更换股票的时候,详细信息要回到state1。设置如图:

case10.png

另外,还要将白色的圆形按钮还原到第一个位置,坐标(170,400+296+13)。如图:

case11.png

5.同法添加dpDetail的OnSwipe Right事件,通过复制粘贴再修改也行。

最后交互的结果如图:

case12.png
case13.png
case14.png
case15.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容