我目前正在 Appcelerator Titanium 中编写一个应用程序。我有三个标签,我想水平均匀分布。
这是一个例子
Label 1 | Label 2
中间标签始终是条形,但其他两个标签的大小会有所不同。现在,我将视图中的条形图和第二个标签附加到屏幕右侧,并将第一个标签附加到左侧,但如果左侧标签相当小,这看起来很糟糕。
我不能将它们全部放在一个文本字段中,因为中间标签的样式不同。
我怎样才能正确地布置这些元素,使它们在水平方向上均匀分布?
我目前正在 Appcelerator Titanium 中编写一个应用程序。我有三个标签,我想水平均匀分布。
这是一个例子
Label 1 | Label 2
中间标签始终是条形,但其他两个标签的大小会有所不同。现在,我将视图中的条形图和第二个标签附加到屏幕右侧,并将第一个标签附加到左侧,但如果左侧标签相当小,这看起来很糟糕。
我不能将它们全部放在一个文本字段中,因为中间标签的样式不同。
我怎样才能正确地布置这些元素,使它们在水平方向上均匀分布?
有几个选项,但一个快速的选项是使用StyledLabel,它就像一个非常轻量级的 webview 版本,它允许您使用 HTML / CSS 呈现文本,这可以让您将标签合并到一个标签中,例如例子:
var StyledLabel = require('ti.styledlabel');
var label = StyledLabel.createLabel({
height: Ti.UI.SIZE || 'auto',
html: '<span>Label 1</span> | <span>Label 2</span>'
});
您可以span
使用自定义 CSS 编辑标签以适应您的需要。
或者,尝试使用百分比布局并小心使用 textAlignment 属性。
var container = Ti.UI.createView({width : "100%", layout: "horizontal" });
var label1 = Ti.UI.createLabel({
text: "Label 1",
width : "33%",
textAlign : Ti.UI.TEXT_ALIGNMENT_LEFT
});
var label2 = Ti.UI.createLabel({
text: "|",
width : "33%",
textAlign : Ti.UI.TEXT_ALIGNMENT_CENTER
});
var label3 = Ti.UI.createLabel({
text: "Label 2",
width : "33%"
textAlign : Ti.UI.TEXT_ALIGNMENT_RIGHT
});
container.add(label1);
container.add(label2);
container.add(label3);
请提及将所有三个标签都保存为“水平”的视图的布局属性。首先将第一个标签添加到视图,然后添加具有“X”数量的左侧属性的第二个标签,然后添加具有相同“X”值的左侧属性的第三个标签。
希望它能满足你的要求。
您可以使用Titanium.UI.ListItem
API Doc 链接
将您的标签添加为项目,放置您的最小高度/宽度并Ti.UI.SIZE
用作固定大小,IT 将自动为与内容相关的元素设置大小。
不要忘记为您的视图设置水平布局
PS:我没有测试这个方法,这只是一个快速的答案,希望它对你有帮助;)
干杯