如何在Titanium中并排显示两个ImageView

时间:2015-03-07 17:27:26

标签: javascript ios titanium titanium-alloy appcelerator-mobile

我无法在Titanium iOS应用程序中并排显示两个ImageView。

我的Alloy代码如下所示:

<Alloy>	
	<Window class='container' statusBarStyle='Ti.UI.iPhone.StatusBar.LIGHT_CONTENT'>
		<View height='20' top='0' left='0' backgroundColor='#01B6AC'></View>
		<View id = 'savedContents' layout='vertical' top='20'>
		</View>
		<Require type='view' src='bottomBar' id='bottomBar'/>
		<Widget id="fa" src="com.mattmcfarland.fontawesome"/>
	</Window>	
</Alloy>

我的控制器代码如下所示:

row = Ti.UI.createView({
	width:'100%',
	height:150,
	layout:'horizontal'
});	

image1 = Ti.UI.createImageView({
	image:'http://www.outnow.io/assets/img/small511by309/'+venueDetails[0]["image1"],
	width:'50%',
	height:150,
	left:0,
	top:0
});	

image2 = Ti.UI.createImageView({
	image:'http://www.outnow.io/assets/img/small511by309/'+venueDetails[1]["image1"],
	width:'50%',
	height:150,
	left:0,
	top:0
});

row.add(image1);
row.add(image2);	
$.savedContents.add(row);

$.saved.open();

仅显示image1。两个图像都没问题,如果我注释掉row.add()中的任何一个调用剩下的图像就好了。我试图让两个图像并排显示,每个图像占据宽度的50%。

4 个答案:

答案 0 :(得分:3)

以下对我来说很好,尝试消除与代码的任何差异:

<Alloy>
  <Window backgroundColor="white">
    <View layout="vertical" top="20">
      <View layout="horizontal" height="150">
        <View width="50%" left="0" backgroundColor="red" />
        <View width="50%" left="0" backgroundColor="green" />
      </View>
      <View layout="horizontal" height="150">
        <View width="50%" left="0" backgroundColor="blue" />
        <View width="50%" left="0" backgroundColor="yellow" />
      </View>
    </View>
  </Window>
</Alloy>

enter image description here

答案 1 :(得分:1)

您似乎在左边插入了两张图片(left属性都设置为0)。尝试将left=0的{​​{1}}更改为image2并删除right=0属性。你的“image2”代码现在应该是这样的:

left

答案 2 :(得分:0)

如果从width:'100%'视图中删除row该怎么办?视图默认为Ti.UI.FILL,因此您不需要将width设置为100%,这可能会导致问题?

答案 3 :(得分:0)

当我在我的系统上尝试时,上面的代码可以正常工作 我只从.xml文件中删除了require和widget语句 并使用左:0或左:&#34; 50%&#34;