0

我使用TwoWayView庫:https://github.com/lucasr/twoway-view嘗試和實施水平ListView各種檢修我以前有什麼。 (HorizontalScrollView和水平定向LinearLayout我補充意見)AdapterView(TwoWayView)的邊際項目

我想擁有的第一個項目之前margin,所以在左側有一個空白第一次創建View時。但是當滾動時,空白區域會滾動並消失。當使用正常的ListView時,它基本上是我想要的HeaderView

當我使用HorizontalScrollView實現滾動時,我只是以編程方式檢查第一個項目並添加了邊距,該邊距自其父項爲LinearLayout並接受邊距。但我不能這樣做是因爲它的LayoutParams用於此AdapterView適配器的getView()不繼承ViewGroup.MarginLayoutParams

我也試着設置clipToPadding="false",但觀點得到回收太早,這是不可接受的,因爲填充我需要顯然很大。

有沒有辦法實現,而不從ListView移動所有HeaderView代碼到TwoWayView庫這種行爲?

回答

1

你可以嘗試這樣的事情:在getView

(INT POS,查看convertView,ViewGroup以及母公司){}

{ 
      if (convertView == null) 
      { ... } 
      LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT); 

      /// To set your margin, you just need to test the position :) 
      params.setMargins(left, top, right, bottom); 

      viewHolder.LinearLayout.setLayoutParams(params); 

     } 

希望這會幫助你。