Я использую Appcelerator Titanium и хочу сделать приложение для Android. Я создал TableView с 4 строками. Я хочу поместить 3 ярлыка в каждую строку, и я хочу, чтобы мои ярлыки были равномерно распределены. (1-я метка должна быть слева, вторая в центре и третья справа от строки.) Спасибо.Как равномерно распределить компоненты по ширине в строке?
ответ
попробуйте этот код.
var win = Ti.UI.createWindow({
});
var table = Ti.UI.createTableView({
backgroundColor:'blue',
top:50,
height : 160
});
win.add(table);
var data = [];
for (var i = 0; i < 4; i++) {
var row = Ti.UI.createTableViewRow({
height : 40
});
var label1 = Ti.UI.createLabel({
text : 'label1',
top : 5,
left : 10,
width : 80,
height : 30
});
row.add(label1);
var label2 = Ti.UI.createLabel({
text : 'label2',
top : 5,
left : 130,
width : 80,
height : 30
});
row.add(label2);
var label3 = Ti.UI.createLabel({
text : 'label3',
top : 0,
left : 240,
width : 80,
height : 30
});
row.add(label3);
data.push(row);
}
table.data = data;
win.open();
Успехов ..
Есть ли какое-то автоматическое размещение компонента на его родительском объекте, может быть макет или что-то подобное? Поскольку, если я разрабатываю свое приложение для smartphon, размещение объектов может быть правильным, но что произойдет, если я попытаюсь использовать это приложение на Galaxy Tab или что-то еще с большим разрешением. В этом случае размещение будет неверным. – Alex
да alex для этого u может использовать% или dp –
привет Alex..и какой-нибудь ответ полезный вам от этих 3 анс ?? если да, тогда вы можете пометить ans как право, чтобы другие могли получить ссылку из вашего que ... Спасибо! –
Для слева, в центре, справа, вы можете использовать относительное позиционирование и выравнивание текста очень просто сделать свои ряды. Этот подход работает хорошо, независимо от того, насколько широко распространен текущий экран (т. Е. Работает на планшете, телефоне, телевизоре и т. Д.).
var win = Ti.UI.createWindow({
backgroundColor: '#fff'
});
var rows = [];
for (var i = 0; i < 10; i++) {
var row = Ti.UI.createTableViewRow();
row.add(Ti.UI.createLabel({
text: 'Left ' + i, textAlign: 'left',
color: '#000',
left: 10
}));
row.add(Ti.UI.createLabel({
text: 'Center ' + i, textAlign: 'center',
color: '#000'
}));
row.add(Ti.UI.createLabel({
text: 'Right ' + i, textAlign: 'right',
color: '#000',
right: 10
}));
rows.push(row);
}
win.add(Ti.UI.createTableView({
data: rows
}));
win.open();
Другим вариантом было бы использование процентов ширины, как left: '0%', width: '33%'
, то left: '33%', width: '33%'
и т.д.
Или вы могли бы сказать, что первая метка из left: 0, width: 200
. Второй - left: 200, width: 50
, а третий - от left: 250, right: 0
. Это даст вам третий ярлык, который будет эластичным, чтобы он мог занимать все пространство.
Еще один вариант (который я не рекомендую вам брать) заключается в использовании Ti.Platform.displayCaps.platformWidth
и размещении элементов строки на основе этого. Но это было бы очень хрупкой для изменений ориентации.
Все зависит от вашего содержания. С их помощью вы сможете обрабатывать свой конкретный вариант использования.
Вот как я недавно решил эту проблему. С тремя отдельными видами и надписями внутри каждой строки. Это работало очень хорошо для меня! Все они основаны на процентах, поэтому они должны работать на всех разрешениях. Удачи!
for (var i = 0; i < 4; i++) {
var row = Ti.UI.createTableViewRow({
height: 'auto',
});
var view1 = Ti.UI.createView({
left : 0,
width : "33.33%",
backgroundColor:'red',
height:40
});
var label1 = Ti.UI.createLabel({
text: 'here',
color:"#fff",
textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT
});
view1.add(label1);
var view2 = Ti.UI.createView({
left : "33.33%",
width : "33.33%",
backgroundColor : "white",
height:40
});
var label2 = Ti.UI.createLabel({
text: 'there',
color:"#fff"
});
view2.add(label2);
var view3 = Ti.UI.createView({
left : "66.66%",
width : "33.33%",
backgroundColor: "blue",
height:40
});
var label3 = Ti.UI.createLabel({
text: 'Everywhere',
color:"#fff"
});
view3.add(label3);
row.add(view1);
row.add(view2);
row.add(view3);
}
- 1. Как распределить div по всей ширине контейнера?
- 2. Как распределить TAB на ширине панели действий равномерно?
- 3. Как равномерно распределить информацию?
- 4. Как равномерно распределить плавающие divs?
- 5. Распределить кнопки в DIV равномерно
- 6. Распределить divs равномерно по горизонтальной линии
- 7. Как распределить точки равномерно по кривой
- 8. Как равномерно распределить набор списков по сетке?
- 9. Android TabLayout: равномерно распределить
- 10. Как равномерно распределить члены массива
- 11. Как распределить эти divs равномерно?
- 12. Android: Как распределить вес равномерно
- 13. Распределить строки равномерно по высоте TableLayout
- 14. Как равномерно распределить радиообъективы в Android?
- 15. Распределить элементы по фиксированной ширине div?
- 16. кнопки, которые равномерно распределены по ширине экрана
- 17. Как распределить несколько divs в div равномерно
- 18. Как равномерно распределить группу пролетов через div?
- 19. Распределить равномерно вертикально без flexbox
- 20. Как равномерно распределить трафик между двумя страницами
- 21. Varnish client.identity - как распределить нагрузку более равномерно?
- 22. Как весовать эти числа, чтобы равномерно распределить их по континууму?
- 23. Как равномерно распределить файлы пользователям по размерам файлов?
- 24. Как я могу распределить эти взгляды равномерно?
- 25. Как распределить элементы равномерно внутри div?
- 26. Как равномерно распределить многие элементы встроенного блока?
- 27. Распределить объекты равномерно по изогнутой траектории в d3
- 28. Как распределить данные равномерно среди исполнителей
- 29. Как распределить веса по ширине UIView с Objective-C
- 30. равномерно распределить divs в нижнем колонтитуле
Если возможно, пожалуйста, примите ответ, который был наиболее полезным для вас. –