2012-12-12 136 views
1

我想提出一個數據視圖基於關閉tileRow佈局,我將有3-5列八哥羽毛tilerow點擊

col1  col2  col3  col4 
--------------------------------------- 
row1-1 row1-2 row1-3 row1-4 
row2-1 row2-2 row2-3 row2-4 

在我已經將它設置爲使用一個for循環的時刻創建項目並設置每個項目的1/4容器的總大小的寬度和這個偉大工程,填充了一整排有4個四邊形所以真正的佈局是這樣的:

col1 col2 col3 col4 
--------------------------------------- 
tile1 tile2 tile3 tile4 
tile5 tile6 tile7 tile8 

我要添加一個事件列表當點擊一行時觸發一個函數。我假設我不能夠真正做到這一點,因爲每一行由4個獨立的瓷磚組成。

有沒有更好的方法來達到預期的效果,還是應該只加一個可點擊的按鈕的第五列?

我不能真正使用列表,因爲我需要多列。

+0

我真的不明白將點擊處理程序添加到行中元素的問題嗎?你是否擔心列/瓷磚之間的間隙不可點擊?或者你是否擔心每行有4個點擊處理程序? – shaunhusain

+0

我想我的問題是如何將tile1,tile2,tile3和tile4(在本例中)傳遞給處理程序,並單擊任一個tile。如果有100行每個按鈕,會不會有任何性能問題? – puks1978

+0

不一定來自處理程序本身,如果您不熟悉對象池或Flex World項目渲染器回收中已知的方法,那麼您可能希望沿着這些線使用或實現某些內容。您應該能夠提前修改數據,以便通過查看當前分配給「DisplayObject」的任何數據的任何元素,從任何這些元素派發的點擊將能夠確定該行,而不管它在Starling中。性能將成爲一個問題,關於更新位置,以及與這麼多行相關的問題,無論是否進行此列分割。 – shaunhusain

回答

1

我會創建一個代表一行的新Sprite。 從池中取出rowSprite,並將每行的項目添加到其中。然後,您可以在該行上放置點擊處理程序,並抓取該事件的currentTarget的子項。