2011-05-23 135 views
1

我与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没有运气。

帮助? :)

回答

2

我通常使用视图,当我需要创建你上面描述的。

例如:

我使用视图与垂直布局,再加入我的孩子的意见。然后,孩子的意见听取点击或任何事件。

这使您可以更好地控制格式。这样做的副作用是在某些情况下您需要创建自己的“新闻”UI提示。

 
var demo = {win : Ti.UI.currentWindow}; 

(function(){ 

    //Create the container view 
    demo.vwMain = Ti.UI.createView({height:100, layout:'vertical', backgroundColor:'yellow'}); 
    demo.win.add(demo.vwMain); 
    demo.fakebutton1 = Ti.UI.createView({height:40, backgroundColor:'blue',left:25,right:25,borderRadius:5,borderColor:'#000'}); 
    demo.vwMain.add(demo.fakebutton1); 
    demo.fakebutton2 = Ti.UI.createView({top:5,height:40, backgroundColor:'green',left:25,right:25,borderRadius:5,borderColor:'#000'}); 
    demo.vwMain.add(demo.fakebutton2); 

    demo.fakebutton1.addEventListener('click', function(e) { 
     alert('Clicked fake button 1'); 
    }); 

    demo.fakebutton2.addEventListener('click', function(e) { 
     alert('Clicked fake button 2'); 
    }); 

})(); 
+0

嗯...我会试一试。谢谢! – 2011-05-24 04:24:53

+0

好吧,似乎工作几乎没问题。有一种方法可以不指定宽度(实际上只是克隆按钮栏行为,不需要...按钮栏方面) – 2011-05-24 09:27:04

+0

最好使用水平布局并根据屏幕大小计算宽度。 – 2011-05-24 15:56:15

0

创建一个视图与布局属性设置为垂直,并添加标签或按钮,你想。视图就像在HTML.HOP你明白。

+0

你知道这是一个4岁的问题,是吗? :) – 2015-04-07 15:26:05