2011-05-23 88 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