Titanium 将视图中的按钮水平居中

Titanium 将视图中的按钮水平居中,titanium,Titanium,我有一些按钮要在视图中水平居中。有三个,我能得到的似乎只有: [button1-button2-button3------------------------------] 我真正想要的是 [--------button1--------button2--------button3--------] 这些按钮也是动态宽度。按钮的数量将发生变化,一些视图有1个,其他视图有2个或3个。根据操作的不同,按钮的数量可以改变。我需要同时支持iOS和android。尝试使用百分比布局将屏幕拆分为不同的列

我有一些按钮要在视图中水平居中。有三个,我能得到的似乎只有:

[button1-button2-button3------------------------------]
我真正想要的是

[--------button1--------button2--------button3--------]

这些按钮也是动态宽度。按钮的数量将发生变化,一些视图有1个,其他视图有2个或3个。根据操作的不同,按钮的数量可以改变。我需要同时支持iOS和android。

尝试使用百分比布局将屏幕拆分为不同的列。然后将按钮添加到各自的不可见容器中

var n = // Your number of buttons horizontal
var container = Ti.UI.createView({width : "100%", layout: "horizontal" });
for(var i=0;i<n;i++) {
   var column = Ti.UI.createView({
        width : (100/n)+"%",
   });
   // Create your button here
   // .....
   // .....

   // Now add it to the column
   column.add(yourNthButton);
   // Now add the column to the container
   container.add(column);
}
var n=//您的水平按钮数
var container=Ti.UI.createView({宽度:“100%”,布局:“水平”});

对于(var i=0;i如果可以放置工具栏,可以使用“flexspace”按钮,这将创建一个必要的空间来填补其他按钮之间的空白。以下是中简单工具栏示例的语法:


在布局设置为“水平”的视图中包装按钮如何

var wrapperView=Ti.UI.createView({
布局:“水平”,
...
});
//在具有水平布局的视图中,
//定位相对于前面的元素
var buttone=Ti.UI.createButton({
右:10,,
...
});
wrapperView.add(按钮无);
未经测试,但试一试!

更新
好的,仅仅上面的代码并不能满足您的需要。我在这里编写了一个更完整的示例。 看起来有点笨拙,所以如果有人有更好的解决方案,请告诉我们

//创建我们的窗口
var win=Ti.UI.createWindow();
//我们的包装器视图
var wrapperView=Ti.UI.createView({
宽度:Ti.UI.FILL,
身高:40,
排名:0,
布局:“水平”,
});
//在包装器中添加一些测试按钮
对于(var i=0;i试试这个

var yourView = Ti.UI.createView({ layout:"horizontal"});


    var buttonsHolder = Ti.UI.createView({ width:"100%" }); 

    // this view will hold the buttons
    var button1 = Ti.UI.createButton({title:"button1 , left:0"}); // the left button
    var button2 = Ti.UI.createButton({title:"button2"}); // the middle button
    var button3 = Ti.UI.createButton({title:"button3",right:0}); // the right button

    buttonsHolder(button1);
    buttonsHolder(button2);
    buttonsHolder(button3);

    yourView.add(buttonsHolder);

Hieyy bro

如果您想在xml中使用钛合金来实现这一点,那么您可以使用%

Container ------------width 100%-----layout horizontal---------
   first child--------left 10%------- width 20%
    second child--------left 10%------- width 20%
   third child--------left 10%------- width 20%-----right 10%
如果你没有得到答案,请告诉我


斯巴达克斯:谢谢:)

如果使用Alloy,那么我建议使用百分比来控制宽度和位置。下面是一个示例,在一个较大的图像下方居中三个小图像,也居中:

<TableViewRow selectionStyle="Ti.UI.iPhone.TableViewCellSelectionStyle.NONE" backgroundColor="white" layout="vertical">
    <ImageView id="detailsFeaturedImage" top="10"/>
    <View  height="60">
        <View layout="horizontal">
            <View left="25%" width="10%"><ImageView image="images/thumb-up-7@2x.png" onClick="thumb_up" /></View>
            <View left="10%" width="10%"><ImageView image="images/thumb-down-7@2x.png" onClick="thumb_down"/></View>
            <View left="10%" width="10%"><ImageView image="images/flag-7@2x.png" onClick="flag_for_review"/></View>
        </View>
    </View>
</TableViewRow>


按钮的数量会改变,一些视图有1个,其他视图有2个或3个。那么..改变百分比?如果你有一个按钮,100%,如果你有两个,50%。我不想一直改变百分比。目标是让它们自动居中。如果你只有三个用例,那么改变百分比并不难ild你的看法。你能展示一些你尝试过的代码吗?也许我误解了你的意图。就是这样,我没有三个用例。我的应用程序中有很多部分,我希望几个按钮水平排列并占据相同的宽度。看起来像iPhone。
<TableViewRow selectionStyle="Ti.UI.iPhone.TableViewCellSelectionStyle.NONE" backgroundColor="white" layout="vertical">
    <ImageView id="detailsFeaturedImage" top="10"/>
    <View  height="60">
        <View layout="horizontal">
            <View left="25%" width="10%"><ImageView image="images/thumb-up-7@2x.png" onClick="thumb_up" /></View>
            <View left="10%" width="10%"><ImageView image="images/thumb-down-7@2x.png" onClick="thumb_down"/></View>
            <View left="10%" width="10%"><ImageView image="images/flag-7@2x.png" onClick="flag_for_review"/></View>
        </View>
    </View>
</TableViewRow>