0

나는 라이브러리를 사용하고 있습니다 : https://github.com/lucasr/twoway-view 내가 이전에 가지고 있던 것을 정밀 검사 할 종류의 가로 ListView을 시도하고 구현합니다.AdapterView (TwoWayView) 상품의 여백

내가 첫 번째 항목 전에 margin을 갖고 싶어, 그래서 View가 처음 만들어 질 때 빈 공간이 왼쪽에있다 (수평 내가보기를 추가하는 LinearLayout 지향과 HorizontalScrollView). 그러나 스크롤 할 때 빈 공간이 스크롤되어 사라집니다. 보통 ListView을 사용할 때 그것은 내가 원하는 HeaderView입니다.

HorizontalScrollView을 사용하여 스크롤을 구현할 때 프로그래밍 방식으로 첫 번째 항목을 검사하여 부모가 LinearLayout이고 여백을 허용 한 이후 여백을 추가했습니다. 하지만 ViewGroup.MarginLayoutParams

나는 또한 clipToPadding="false"을 설정하려고했습니다를 상속하지 않습니다 그 LayoutParams 때문에이 AdapterView에 사용되는 어댑터의 getView()에서이 작업을 수행 할 수 있지만, 전망은 패딩 내가 필요하기 때문에 받아 들일 수있는, 너무 일찍 재생됩니다 눈에 띄게 커요.

HeaderView 코드를 모두 ListView에서 TwoWayView 라이브러리로 이동하지 않고이 동작을 수행 할 수 있습니까? 의 getView에

(INT 볼때,보기 convertView, 뷰 그룹의 부모) {}이 당신을 도울 것입니다

{ 
      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); 

     } 

희망 :

답변

1

당신은 이런 식으로 뭔가를 시도 할 수 있습니다.

관련 문제