2011-02-10 7 views
90

고정 된 높이 ListView입니다. 목록 항목간에 구분선이 있지만 마지막 목록 항목 다음에 구분선이 표시됩니다.안드로이드의 하단 구분선 제거 ListView

ListView의 마지막 항목 다음에 제수를 표시하지 않을 방법이 있습니까?

listView.setFooterDividersEnabled(false); 

을하고 당신이 ListFragment를 사용하는 경우로 목록보기를 얻을 수 있습니다 : 당신이 코드에 의해이 작업을 수행하려면

답변

179

다만 그것의 당신의 ListView 설명

+27

4.4.2부터는 더 이상 작동하지 않습니다. 필자는 2.3.7에서부터 4.4.2까지 다양한 테스트 장치에서 똑같은 응용 프로그램을 실행할 수 있습니다. KitKat만이 영향을 미치지 않는 유일한 곳입니다 ... 어떤 아이디어입니까? 내 ListView에 꼬리말이나 머리글을 추가하지 않고 두 장치 (Nexus 5 및 HTC One M8)에서 재생했습니다. –

+0

이 해결책을 찾았습니다. 내 대답을 참조하십시오 ... – Sam

+10

@ScootrNova 4.4.4를 사용하고 있는데 listview의 'layoutHeight = "wrap_content"'를 설정하면 하단 구분선이 사라집니다. – Erhannis

19

android:footerDividersEnabled="false" 를 추가

을 이 구글

뿐만 # 1을 제공하기 때문에
listFragment.getListView().setFooterDividersEnabled(false); 

은 논평

+2

코드를 이용해 주셔서 감사합니다. XML 기반 솔루션 만있을 때 슬플 지요! iOS에서 Android로 응용 프로그램을 이식하는 중입니다. 지금까지는 코드에서이 모든 작업을 XML 기반 레이아웃으로 변환하려고 시도했을 때보 다 훨씬 빠르다고 생각합니다. (처음에는 모든 iOS UI를 정의 했으므로 장소).언젠가 나는이 모든 XML 물건들에 대해 머리를 맞춰야 할 것 같지만 오늘은 그렇지 않다. –

+0

그것은 매력처럼 작동한다 – arh

76

@ScootrNova 말했듯이,이 (내가 문제가 도입 정확히 모르는)

이것은의 특정 경우와 관련이 안드로이드 전 4.4.x에서 다르게 (일명 버그) 행동 것으로 보인다 padding + clipToPadding="false"을 사용하여 - 4.4.x에서 바닥 글은 뷰 바깥으로 그려 지지만 안쪽 여백에 클립이 표시됩니다.

<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" 
    /> 
:

내가 사용하는이 솔루션은

내 최종 솔루션

은 ( android:footerDividersEnabled 백 호환성을 위해 유지되어 있습니다) ... 오버 스크롤 어떻게 든 작동하는 투명 ( android:overScrollFooter) 바닥 글을 설정했다

은 HTC One X 4.1.1, Nexus 5 4.4.4 및 삼성 갤럭시 S5 (4.4.2) 덕분에 테스트되었습니다 (덕분에 @ Dallas187). Lollipop에도 활약하고있는 것 같습니다. (코멘트 작성자 덕분에)

+1

이 솔루션은 삼성 갤럭시 S5에서 작동한다는 것을 확인한다. 4.4.2 – Dallas187

+1

5.0에서 여전히 작동한다. , 감사! –

+1

5.0.2에서 계속 작업 중입니다! – JDJ

8

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

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

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

이것은 허용 된 대답이어야합니다. 간단한 솔루션, 나를 위해 일한 첫 번째 촬영. – Samah

+0

위의 롤리팝을 위해 일했습니다. 감사합니다. –

0

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

관련 문제