【GamePlay】两个ScrollView插件,Super ScrollView UIExtensions
前言
记录一下最近了解使用的两个滚动列表插件,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相关推荐
- unity菜单滑动插件_unity游戏清新风格列表滚动视图滑动界面插件Super ScrollView for UGUI 2.4.1...
Super ScrollView for UGUI 是一个清新风格的列表滚动视图滑动界面游戏插件. UGUI Super ScrollView gives easily-customizable S ...
- android scrollview 布局,Android scrollview实现底部继续拖动查看图文详情
本文实例为大家分享了Android实现底部拖动查看图文详情的具体代码,供大家参考,具体内容如下 一.效果图 二.实现步骤 1.xml布局的实现/p> android:id="@+id/ ...
- 介绍两个Eclipse插件: Implementors Call Hierarchy
介绍两个Eclipse插件: Implementors & Call Hierarchy 本文介绍两个在Eclipse调试与跟踪过程中的两个实用插件 他们都可以在 http://eclipse ...
- 拼多多上线直播、火车票业务引关注,回应:仅是两个服务插件
针对日前相关媒体报道的拼多多进军直播以及上线购买火车票服务,拼多多方面向TechWeb回应称,直播和火车票仅是响应B端和C端需求所增加的两个服务插件. 拼多多相关业务负责人表示,媒体所报道的" ...
- 强力推荐,两款Excel插件,极致好用,让你秒变高手
Excel是我们日常生活工作中应用最多.业界最标准的表格软件. 由于Excel的用户数量非常庞大,在社区支持方面非常丰富,用户可以轻松地找到各种教程和解决方案. 虽然Excel很功能已经成熟,但自身也 ...
- scrollview复用节点_ScrollView 两个控件复用, ScrollView 的极限优化
通常的 scrollView 用来进行轮播图的展示.网易新闻中标签对应的页面切换展示 举个栗子: 分析: 创建容器 reusedViewControllers 来存放可以重用的 视图 创建容器 vis ...
- android scrollview 动画,Android ScrollView实现下拉弹回动画效果
这里设计一个自定义View,继承了ScrollView,实现可以下拉里面的内容,松手后画面弹回,这个自定义的View可以当做ScrollView来使用. 一般设计时的应用效果: 一.自定义View的设 ...
- android 设置scrollview 高度,Android ScrollView如何设置maxHeight
在我们的开发需求中有时候要控制控件的最大高度,很多控件都没有提供这个属性,今天以ScrollView为例,自定义ScrollView, 实现 maxHeight的更能 java代码部分:package ...
- Mozilla两款火狐插件包含恶意代码被紧急喊停
ozilla基金会当地时间周五从火狐浏览器插件网站撤下了2款包含有恶意代码的插件:Sothink Web Video Downloader 4.0和所有版本的Master Filer,这两款插件都包含 ...
最新文章
- 买得嗨更要聊得嗨 阿里通免费电话惠战双11
- nodejs-函数路由
- 中国剩余定理matlab非互质,中国剩余定理模板(互质版和非互质版)
- ubuntu更新时区和时间
- 浅析python类继承(一)
- Juniper大中国区于肇烈
- idea 配置maven一直停留在loading archetype list
- 不同业务场景下如何进行数据库水平切分?
- springcloud eureka集群_SpringCloud入门学习之Eureka
- 兰花草c语言编码蜂鸣器,蜂鸣器奏乐-多种音乐分享
- 二、ArcGIS中shp裁剪dem
- 请把西游记倒过来看!
- 【NOIP 2017PJ】跳房子
- eclipse建web工程的dynamic web module version 具体是什么意思
- [机房练习赛4.3]drive
- FFB6D A Full Flow Bidirectional Fusion Network for 6D Pose EstimationFFB6D 6D 姿势估计的全流双向融合网络
- 初探Octopus中的分布式事务
- 携手阿里和暴风重磅发布的小辣椒PLAYER到底有哪些黑科技?
- Android平台签名证书(.keystore)生成
- m3u8文件格式解析