본문 바로가기
Android

clipToPadding

by 루에 2015. 4. 17.
반응형

listview를 구성하다보면 두 개의 뷰를 겹치게 되는 경우가 있다. 하지만 스크롤시 마지막 아이템이 겹쳐져있는 뷰에 가려지게 되므로 스크롤이 끝났을 때 아이템에 빈공간을 줘야 한다.

보통은 header나 footer를 붙이던, 아이템의 첫번째나 마지막에 margin을 주는 방법을 생각하겠지만 안드로이드에는 간편한 방법이 존재한다.


listview의 속성에

android:clipToPadding="false"


기본값은 true이며 기본값일 때 padding을 주면 당연히 뷰의 지정된 크기에 padding이 잡혀 view의 크기가 작아진다.(안으로 들어온다)

그런데 false로 주게 되면 childview인 listview의 아이템에 padding이 들어간다. 그러면 따로 아이템의 위치를 구해서 로직을 짤 필요도 없고, header나 footer를 설정할 필요도 없이 간단하게 해결 가능하다.




왼쪽이 true, 오른쪽이 false

왼쪽은 padding이 뷰 전체에, 오른쪽은 child로 들어간걸 볼 수 있다.


참조

반응형

댓글