2012-11-25 94 views
4

我想在Android中實現包含一些自定義視圖的列表。 我的問題是,我想要的意見將一個接一個地放在他們之間有一點重疊。如下面的模式:enter image description here列表視圖與部分重疊的自定義視圖項目(Android)

我也想控制這種重疊的方式,當用戶點擊其中一個項目時,他們將彼此分開。

我試圖擴展ListView,但它似乎很模糊,有什麼建議嗎?

編輯: 這可以更清楚:

enter image description here

我通過設置分隔高度-50dp做到了。 這正是我想要實現的,但不知何故,它不反映在我的應用程序上。

回答

3

我設法做到這一點通過使用滾動視圖與一個單一的相對佈局作爲一個孩子。 我然後動態定義的規則和保證金放置觀點:

for (int i = 0; i < 30; i++) { 
     TextView tv = new TextView(context); 
     tv.setText("Text \n Text" + i); 

     tv.setBackgroundColor(i % 2 == 0 ? Color.RED : Color.GREEN); 

     RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
     lp.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
     lp.leftMargin = 0; 
     lp.topMargin = (i * 45); 
     rl.addView(tv, lp); 
} 

以後,你可以通過改變他們的Y值控制的子視圖定位(例如:如果你想添加動畫)。

這是最後的結果是:

Layout containing overlapping items

+1

ScrollView不支持視圖回收。所以,如果性能是一個因素,那麼對於多個視圖來說就沒有用處了。 – Saket

+0

我已經爲我的基於ScrollView的視圖實現了視圖回收。 –

+1

@ DanielL.would你喜歡在github上分享你的代碼還是你喜歡的任何地方? –

相關問題