我有一個主/從佈局的平板電腦應用程序,在主面板中有一個用於更改「詳細信息」窗格內容的TableView。我想讓主人的行保持突出顯示,就像在android操作系統設置中一樣。如何永久選擇/突出顯示Titanium Android中的TableView行?
現在我可以做的最好的事情是將backgroundColor
設置爲新顏色以響應'click'
事件。但是,當我快速點擊時,該行將突出顯示,然後在再次突出顯示前閃爍回常態。我猜這是我關閉手指和backgroundColor發生變化之間的延遲。
tableview.addEventListener('click', function(e) {
...
else if (e.rowData.id == 3) { // scan history
e.row.backgroundColor = 'blue';
這似乎是別人做它的方式:http://developer.appcelerator.com/question/124359/android---tableviews-deselectrow
如果我只是採用了android,而不是鈦:How can I highlight the table row on click ?
雖然我認爲這將創造一個更快的背景顏色的變化,它有更多的併發症。沒有行數據與touchstart事件一起傳輸,所以我必須找出具有觸摸的x和y座標的行。我也必須處理這樣的情況,即用戶在釋放之前觸摸一行然後滑向另一行。感謝您的建議! –
實際上,您可以通過事件'e'的'source'屬性獲取行數據。也許你想要的是'touchend'事件來處理滑動,但是,請注意,表中的'scroll'事件不能與一行中的'touch'事件同時發生。 –
返回的源對象是tableview,而不是行。我試圖給每個單獨的行添加一個touchend監聽器,但那從來沒有被調用過。有趣的是,每個單獨行上的「單擊」偵聽器確實有效。我總是可以使用x,y來計算tableview touchend事件中的行。再次感謝後續。 –