如何处理具有数十个视图的ScrollableView
How to handle a ScrollableView with dozens of views?
我在Titanium中有一个ScrollableView
(仅针对Android),它必须滚动浏览几十个视图。每个视图都是关于一段或两段文本,可能还有一两幅图像。
我担心从一开始就填充所有视图会给CPU带来太大的压力。因此,我的计划是在ScrollableView中一次只能有3个视图。
这是我想出的一个解决方案。视图编号为1到10。粗体编号的视图是当前活动的视图。短划线是占位符。当用户查看第一个视图时:
12 3----
用户向右滚动。
123----
用户再次向右滚动,视图1被删除。视图4现在被添加到ScrollableView中。
-234---
等等。
我面临的障碍是,据我所知,没有办法在现有视图之前插入视图(就像向左滚动的情况一样)。
我应该如何实现这一点?
我基于这个GitHub要点创建了一个Titanium模块,它就是这样做的。
用法如下:
var VirtualScroller = require('ui/common/VirtualScroller');
var virtualScroller = VirtualScroller({
itemCount: 10,
start: 0,
getView: function(i) {
return Titanium.UI.createLabel({
width: Titanium.UI.FILL,
height: Titanium.UI.FILL,
text: "This is item " + (i + 1)
});
},
isInfinite: false
});
window.add(virtualScroller.view);
该模块通过控制具有三个视图的ScrollableView(如原始要点)来工作。它支持有限(上例)和无限滚动。
我已经在我的博客上发布了详细信息,可以在BitBucket上找到。
我建议使用ListView。您可以对其进行配置,使其不存在分隔符。它在内部处理滚动,所以您不需要ScrollView包装器。它还管理内容的加载,以便只有在当前滚动位置可见的内容才需要在内存中。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 多个单选按钮组相互干扰
- 下拉选择可自动更改第二个下拉选择
- onkeyup无法动态创建多个文本区域
- JQuery合并了keyup和focusout两个函数
- JavaScript 中两个十六进制字符串的 XOR
- 如何处理具有数十个视图的ScrollableView
- 删除错误.MongooDB + Express.传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符
- 转换颜色十六进制值以用于三个 JSON 文件.js
- 十五个拼图空瓷砖
- 添加两个十六进制数字 javascript 与位移
- 角度滤波器,用于将数字转换为具有两个小数点的数十亿
- 如何改变四个十六进制数浮动在js
- jQuery用特定的类加载前十个元素
- 获取Javascript中值最高的前十个变量
- 如何通过javascript代码在客户端浏览器中发出一个请求而不是十几个请求
- 十六进制颜色码的按位补码总是返回6个字符吗?
- 创建一个带有选择器的HTML表单一个保存SQL十六进制颜色的选择器
- 套接字获取文本字符串作为十六进制数组,多个套接字相互调用's事件
- 一次转换十六进制字符串2个字符