前言

记录一下最近了解使用的两个滚动列表插件,UIExtensions 和Super ScrollView 。

前者不只是滚动列表,是一个开源的组件库。后者是专门得到ScrollView扩展,使用起来简单一些。

(原生的ScrollView 加上Content Size Fitter,也能实现基本的滚动效果)

UIExtensions

链接:https://github.com/Unity-UI-Extensions/com.unity.uiextensions
这是个UI组件库,不只是ScrollView的扩展,这里只记录一下滚动列表的用法

目录结构

这个插件里组件很多,我们只看这个

使用

这个官方示例中有一点点的不好的地方,是这个示例名字起的太“通用”了,直接叫Context、ScrollView,一开始也让我觉得是通用组件。实际上,要为每个ScrollView分别创建这几个文件。

我以我的使用示例举例,这样更清晰一些,官方示例不容易看不出哪些结构是自己定义的。

首先,必须得定义四个文件,下图中的前四个,第四个是UI控制组件。

其中的xxxScrollView挂在到UI中的ScrollView组件上。
创建一个预制体,把xxxCell挂在到预制体上,并挂到这个xxxScrooView上,如下图所示

xxxContext是这个组件的数据。
xxxItemData是每一个Cell的数据。
使用时在下图位置处指定,这时候就可以去看看官方例子,官方例子直接用的Context命名,很容易让人觉得是通用基础结构,实际是要自己定义的结构。

以上只是结构的定义,如果要更新数据,需要调用xxxScrollView的UpdateData(实际是调用了扩展中的UpdateContents方法),需要传入一个xxxItemData的列表。

在xxxCell中要自定义更新时做什么,每个Cell根据传来的数据更新UI。

理解了这几个组件的关系,使用起来就简单了。

问题

不过,这个使用过程中还是有问题,启动游戏第一次调用ScrollView的UpdateData更新UI,总是失效,之后再调用就可以生效了,至今没有查到问题所在。。。

Super ScrollView

这个就ScrollView功能来说,比上面那个方便一些,但这个是收费的。

官方例子做的有点乱,很多无用的东西,没有突出核心用法,让我看了好久才理解。

目录结构

组件导入后的目录结构如下,其中Editor和Scripts目录是插件代码,Demo目录可以忽略

理解核心代码,只需要看三个文件

使用

第一,在自己创建的ScrollView上挂上LoopListView2
第二,创建一个Cell预制体,下图中Cell只是一个Button
第三,预制体拖动到LoopListView2 组件上 (可能没有Add New按钮,看下面的问题)

第四,编写脚本初始化
下面这是改的官方Demo脚本,去掉冗余信息,只调用一下LoopListView2组件的初始化就行,需要传入数量和回调函数,这个回调函数的作用就是,当ui里显示当前index的物体时,就调用这个回调,加入初始化五个物体,就会调用五次,index不同。
在这个回调里,可以自己设置每个Cell的信息,如果不设置就是下图所示,固定返回LoopListViewItem2这个结构。
注释掉的ItemData、ListItem2这些都是自己实现的,前者是数据,后者是cell UI脚本。

自己要使用的话,就是详细写写这个回调函数,定义好Cell的数据和UI显示,在回调的时候根据index获得数据,设置给UI。

问题

LoopListView2 组件上的Add New按钮不显示(好像只有我碰到这个问题了,还以为是组件更新了故意不显示的…),把下图中的代码注释掉就行了

【GamePlay】两个ScrollView插件,Super ScrollView UIExtensions相关推荐

  1. unity菜单滑动插件_unity游戏清新风格列表滚动视图滑动界面插件Super ScrollView for UGUI 2.4.1...

    Super ScrollView for UGUI  是一个清新风格的列表滚动视图滑动界面游戏插件. UGUI Super ScrollView gives easily-customizable S ...

  2. android scrollview 布局,Android scrollview实现底部继续拖动查看图文详情

    本文实例为大家分享了Android实现底部拖动查看图文详情的具体代码,供大家参考,具体内容如下 一.效果图 二.实现步骤 1.xml布局的实现/p> android:id="@+id/ ...

  3. 介绍两个Eclipse插件: Implementors Call Hierarchy

    介绍两个Eclipse插件: Implementors & Call Hierarchy 本文介绍两个在Eclipse调试与跟踪过程中的两个实用插件 他们都可以在 http://eclipse ...

  4. 拼多多上线直播、火车票业务引关注,回应:仅是两个服务插件

    针对日前相关媒体报道的拼多多进军直播以及上线购买火车票服务,拼多多方面向TechWeb回应称,直播和火车票仅是响应B端和C端需求所增加的两个服务插件. 拼多多相关业务负责人表示,媒体所报道的" ...

  5. 强力推荐,两款Excel插件,极致好用,让你秒变高手

    Excel是我们日常生活工作中应用最多.业界最标准的表格软件. 由于Excel的用户数量非常庞大,在社区支持方面非常丰富,用户可以轻松地找到各种教程和解决方案. 虽然Excel很功能已经成熟,但自身也 ...

  6. scrollview复用节点_ScrollView 两个控件复用, ScrollView 的极限优化

    通常的 scrollView 用来进行轮播图的展示.网易新闻中标签对应的页面切换展示 举个栗子: 分析: 创建容器 reusedViewControllers 来存放可以重用的 视图 创建容器 vis ...

  7. android scrollview 动画,Android ScrollView实现下拉弹回动画效果

    这里设计一个自定义View,继承了ScrollView,实现可以下拉里面的内容,松手后画面弹回,这个自定义的View可以当做ScrollView来使用. 一般设计时的应用效果: 一.自定义View的设 ...

  8. android 设置scrollview 高度,Android ScrollView如何设置maxHeight

    在我们的开发需求中有时候要控制控件的最大高度,很多控件都没有提供这个属性,今天以ScrollView为例,自定义ScrollView, 实现 maxHeight的更能 java代码部分:package ...

  9. Mozilla两款火狐插件包含恶意代码被紧急喊停

    ozilla基金会当地时间周五从火狐浏览器插件网站撤下了2款包含有恶意代码的插件:Sothink Web Video Downloader 4.0和所有版本的Master Filer,这两款插件都包含 ...

最新文章

  1. 买得嗨更要聊得嗨 阿里通免费电话惠战双11
  2. nodejs-函数路由
  3. 中国剩余定理matlab非互质,中国剩余定理模板(互质版和非互质版)
  4. ubuntu更新时区和时间
  5. 浅析python类继承(一)
  6. Juniper大中国区于肇烈
  7. idea 配置maven一直停留在loading archetype list
  8. 不同业务场景下如何进行数据库水平切分?
  9. springcloud eureka集群_SpringCloud入门学习之Eureka
  10. 兰花草c语言编码蜂鸣器,蜂鸣器奏乐-多种音乐分享
  11. 二、ArcGIS中shp裁剪dem
  12. 请把西游记倒过来看!
  13. 【NOIP 2017PJ】跳房子
  14. eclipse建web工程的dynamic web module version 具体是什么意思
  15. [机房练习赛4.3]drive
  16. FFB6D A Full Flow Bidirectional Fusion Network for 6D Pose EstimationFFB6D 6D 姿势估计的全流双向融合网络
  17. 初探Octopus中的分布式事务
  18. 携手阿里和暴风重磅发布的小辣椒PLAYER到底有哪些黑科技?
  19. Android平台签名证书(.keystore)生成
  20. m3u8文件格式解析

热门文章

  1. 【财经期刊FM-Radio|2021年03月29日】
  2. 色值的透明度与十六进制代码转换
  3. 百思不得姐之新帖(四)
  4. 升米恩斗米仇,驳”开源侵略论”
  5. 孤独,是为了不辜负每一个懂我的你。
  6. 浅谈显 ipqq 发展历程 【附显 ipqq原理】
  7. 太赫兹高速通信系统前端关键技术
  8. 世界三大顶级音响_世界顶级音响有哪些?
  9. B+树比Hsh好处在于
  10. 服务器托管、服务器租用、云主机的比较