나는 고정 된 높이가 ListView
있습니다. 목록 항목 사이에 구분선이 있지만 마지막 목록 항목 뒤에 구분선도 표시됩니다.
의 마지막 항목 뒤에 구분선을 표시하지 않는 방법이 ListView
있습니까?
답변:
android:footerDividersEnabled="false"
ListView 설명에 추가 하기 만하면
됩니다.
layoutHeight="wrap_content"
하면 하단 구분선이 사라집니다.
@ScootrNova가 말했듯이 이것은 android 4.4.x에서 다르게 동작하는 것 같습니다 (일명 버그가 있음) (문제가 언제 도입되었는지 정확히 모릅니다)
이것은 4.4.x에서 바닥 글이 뷰 외부에 그려 지지만 패딩에 클립하면이를 드러내는 4.4.x에서 + - 를 사용 하는 특정 사례 와 관련이 있습니다.padding
clipToPadding="false"
내가 사용한 해결책은 android:overScrollFooter
어떻게 든 작동 하는 바닥 글 오버 스크롤 ( )을 투명하게 설정하는 것입니다 ...
내 최종 솔루션 ( android:footerDividersEnabled
역 호환성을 위해 유지됨) :
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin"
android:divider="@color/divider"
android:dividerHeight="1px"
android:clipToPadding="false"
android:scrollbarStyle="outsideInset"
android:overScrollFooter="@android:color/transparent"
android:footerDividersEnabled="false"
/>
4.1.1을 실행하는 HTC One X, 4.4.4를 실행하는 Nexus 5 및 4.4.2를 실행하는 Samsung Galaxy S5에서 테스트되었습니다 (@ Dallas187 덕분에). Lollipop도 작동하는 것 같습니다. (댓글 감사합니다!)
android:overScrollFooter
는 나를 위해 트릭을했습니다. 5.0.2 및 5.1에서 작업.
android:footerDividersEnabled="false"
다시 compat 이 필요할 것이라고 믿습니다
코드로이 작업을 수행하려면 다음과 같습니다.
listView.setFooterDividersEnabled(false);
ListFragment를 사용하는 경우 다음과 같이 목록보기를 얻을 수 있습니다.
listFragment.getListView().setFooterDividersEnabled(false);
이것이 구글에서 # 1로 나오기 때문에 댓글을 달았습니다.