Titanium Appcelerator自定义按钮

时间:2011-05-23 17:27:22

标签: titanium appcelerator appcelerator-mobile

我是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 个答案:

答案 0 :(得分:2)

当我需要创建上述内容时,我通常会使用视图。

例如:

我使用垂直布局的视图,然后添加我的子视图。然后子视图会有点击或任何事件的监听器。

这使您可以更好地控制格式。这样做的副作用是你需要在某些情况下创建自己的“按下”功能。

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');
    });

})();

答案 1 :(得分:0)

创建一个视图,将layout属性设置为vertical,并添加你想要的标签或按钮.View就像HTML一样。希望你能理解。