[android] Android ListView의 하단 구분선 제거

나는 고정 된 높이가 ListView있습니다. 목록 항목 사이에 구분선이 있지만 마지막 목록 항목 뒤에 구분선도 표시됩니다.

의 마지막 항목 뒤에 구분선을 표시하지 않는 방법이 ListView있습니까?



답변

android:footerDividersEnabled="false"
ListView 설명에 추가 하기 만하면
됩니다.


답변

@ScootrNova가 말했듯이 이것은 android 4.4.x에서 다르게 동작하는 것 같습니다 (일명 버그가 있음) (문제가 언제 도입되었는지 정확히 모릅니다)

이것은 4.4.x에서 바닥 글이 뷰 외부에 그려 지지만 패딩에 클립하면이를 드러내는 4.4.x에서 + – 를 사용 하는 특정 사례 와 관련이 있습니다.paddingclipToPadding="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도 작동하는 것 같습니다. (댓글 감사합니다!)


답변

코드로이 작업을 수행하려면 다음과 같습니다.

listView.setFooterDividersEnabled(false);

ListFragment를 사용하는 경우 다음과 같이 목록보기를 얻을 수 있습니다.

listFragment.getListView().setFooterDividersEnabled(false);

이것이 구글에서 # 1로 나오기 때문에 댓글을 달았습니다.


답변

롤리팝 장치에서 아래 줄이 작동하지 않는 것 같습니다.

listView.setFooterDividersEnabled(false);

따라서 목록의 마지막 항목 뒤의 구분선을 제거하려면 아래 코드를 사용해야합니다.

listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));


답변

background = @android : color / transparent를 사용하십시오. 완벽하게 작동합니다. 행 레이아웃의 배경을 계속 사용할 수 있습니다.


답변