我正在尝试使用着名的sequentialLayout在scrollview下面添加一个图像,并且我对scrollview的高度有问题。
这就是我创建滚动视图的方式。
var scrollview = new Scrollview({
direction: Utility.Direction.X,
options: {
size: [300, 300]
},
paginated: true
});
当我向250度高的scrollview添加曲面时,包含这些曲面的scrollview的父DOM容器(famous-group)的宽度和高度为0.
在sequentialLayout中添加此滚动视图作为第一个项目时,具有高度的第二个项目或表面显示在此滚动视图的顶部,因为它没有高度。
如何使用Famo.us修复此问题?
答案 0 :(得分:9)
你不能像这样设置大小 - 为此使用修饰符。
这将是渲染树
MainContext
SequentialLayout
Modifier(size)
ScrollView
Modifier(size)
Image
代码段:
// Create components
var scrollview = new ScrollView();
var image = new ImageSurface({
content: 'content/images/famous_symbol_transparent.png'
});
// Create Size Modifiers
var scrollModifier = new StateModifier({ size: [200,200]});
var imageModifier = new StateModifier({ size: [200,200]});
// Wrap the Modifier in a RenderNode, so we can add the surface
// (you can't add surfaces directly to a modifier)
var scrollNode = new RenderNode(scrollModifier)
scrollNode.add(scrollview);
var imageNode = new RenderNode(imageModifier);
imageNode.add(image);
// Create a SequentialLayout
var sequence = new SequentialLayout();
sequence.sequenceFrom([scrollNode,imageNode]);
这是一个example gist(运行main.js
生成器后复制粘贴yo famous
)