如何将图像放在appcelerator中的单个列中

时间:2016-03-15 06:45:12

标签: ios ios-simulator appcelerator appcelerator-titanium

我在appcelerator中有以下简单代码。我试图将2张图像放在另一张下面。其实我有10个 - 我正在尝试

image
newline
image
newline
image
  • Appcelerator Studio,版本:4.5.0.201602170821
  • SDK 5.2.0

代码

var win1 = Titanium.UI.createWindow({  
    backgroundColor:"yellow"
});

var imga = Titanium.UI.createImageView ({
    image: "/png/a.png",
    top: "10px",
    });

var imgb = Titanium.UI.createImageView ({
    image: "/png/b.png",
    top: "20px",

    });

win1.add(imga); 
win1.add(imgb); 
win1.open () ;

当我在ipad模式下运行时,图像相互叠加。如何将它们放在单个文件列中?

感谢

2 个答案:

答案 0 :(得分:5)

默认情况下,Window的布局是复合的。这意味着您必须定义子元素的坐标。例如,如果你的a.png是40高,你必须将imgb的top属性定义为:top: 50(10 top imga + 40 height imga)。 您还可以使用layout : vertical相互显示您的子元素。

您不应该使用px,而是dp%

我建议您阅读此文档:http://docs.appcelerator.com/platform/latest/#!/guide/Layouts,_Positioning,_and_the_View_Hierarchy

答案 1 :(得分:1)

以下是为我提供一个简单的图像列的确切代码。

var win = Titanium.UI.createWindow({  
    backgroundColor:"white",
});

var scrollview = Ti.UI.createScrollView({
  showVerticalScrollIndicator: true,
  showHorizontalScrollIndicator: true,
  layout: 'vertical' 
  });


var imga = Titanium.UI.createImageView ({
    image: "/png/a.png",
    top: 0
    });

var imgb = Titanium.UI.createImageView ({
    image: "/png/b.png",
    top: 10
    });

var imgc = Titanium.UI.createImageView ({
    image: "/png/c.png",
    top: 10
    });


scrollview.add(imga,imgb,imgc);     
win.add(scrollview);
win.open () ;