#titanium #appcelerator #appcelerator-mobile
#titanium #appcelerator #appcelerator-мобильный
Вопрос:
Я новичок в Appcelerator и столкнулся с досадной проблемой, связанной с макетом.
Мне нужно создать строку меню, которую очень легко сделать с помощью обычного html (ul> li> a и это все). Проблема в том, что кажется, что все функции, связанные с кнопками, не являются … настраиваемыми. Я хочу, чтобы кнопки отображались в виде обычного текста, а не кнопок.
Первой мыслью было использовать метки (вместо кнопок). Но… Это правильный путь? Мне нужна строка меню, а не текстовый абзац! Кроме того, меню в некотором роде гибкое, в отличие от ярлыков.
Это одна (из многих!) вещей, которые я пробовал:
var menu_color = Titanium.UI.createButton({
title:Ti.Locale.getString("menu_color") || "Color",
height:24,
top:10
});
Я также добавил borderWidth:0
(без эффекта) и backgroundColor:none/transparent
безуспешно.
Помочь? 🙂
Ответ №1:
Обычно я использую views, когда мне нужно создать то, что вы описали выше.
Например:
Я использую представление с вертикальной компоновкой, затем добавляю свои дочерние представления. Затем дочерние представления имеют прослушиватели для щелчка или любого другого события.
Это позволяет вам лучше контролировать форматирование. Побочным эффектом этого является то, что в некоторых случаях вам нужно будет создать свой собственный пользовательский интерфейс «нажать».
var demo = {win: Ti.UI.currentWindow}; (функция(){ //Создать представление контейнера demo.vwMain = Ti.UI.CreateView({высота: 100, макет: "вертикальный", цвет фона: "желтый"}); demo.win.add (demo.vwMain); demo.fakebutton1 = Ti.UI.CreateView({высота: 40, цвет фона: 'синий', слева: 25, справа: 25, радиус границы: 5, цвет границы: '#000'}); demo.vwMain.add (demo.fakebutton1); demo.fakebutton2 = Ti.UI.CreateView({top: 5,height: 40, backgroundColor: 'green', слева: 25, справа: 25, borderRadius: 5, borderColor: '#000'}); demo.vwMain.add (demo.fakebutton2); демо.fakebutton1.addEventListener ('щелчок', функция (e) { предупреждение ("Нажата поддельная кнопка 1"); }); демо.fakebutton2.addEventListener ('щелчок', функция (e) { предупреждение ("Нажата поддельная кнопка 2"); }); })();
Комментарии:
1. хорошо, кажется, работает почти нормально. Есть способ не указывать ширину (на самом деле просто клонировать поведение панели кнопок без … аспекта панели кнопок)
2. Лучше всего использовать горизонтальное расположение и рассчитывать ширину в зависимости от размера экрана.
Ответ №2:
создайте вид, для свойства layout которого задано значение vertical, и добавьте ярлык или кнопку, которую вы хотите.Вид похож на HTML.Надеюсь, вы понимаете.
Комментарии:
1. Вы понимаете, что это вопрос 4-летней давности, да? 🙂