Android에서 ListViews 사이의 줄을 어떻게 제거합니까?


401

나는 ListView이 같은 두 가지를 사용 하고 있습니다 :

<ListView
   android:id="@+id/ListView"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>
<ListView
   android:id="@+id/ListView1"
   android:text="@string/Website"
   android:layout_height="30px"
   android:layout_width="150px"
   android:scrollbars="none"
   android:transcriptMode="normal"/>

ListViews 사이에 빈 줄이 하나 있습니다 . 어떻게 제거합니까?


3
다른 목록을 표시하는 두 개의 개별 ListView가 있습니까? 아니면 ListView의 항목 사이에 줄이 있음을 의미합니까?
Dave Webb

"공백"또는 "검정색"라인입니까? OP 이외의 다른 사람이 질문을 편집 한 이후 그들 사이에는 차이가 있습니다
miva2

1
@ deepthi, 답변 중 하나를 허용 된 것으로 표시 하시겠습니까?
Antek

답변:


926

동일한 ListView에서 항목 사이의 구분 기호를 제거하려면 다음 해결책이 있습니다.

getListView().setDivider(null);
getListView().setDividerHeight(0);

developer.android.com # ListView

또는 XML로 작성하려면 다음을 수행하십시오.

android:divider="@null"
android:dividerHeight="0dp"

2
어떤 이유로 든 XML로 설정하면 효과가 없었습니다. 코드에서 설정해야했습니다.
Jeffrey Blattman

8
나를 위해 XML로 일했습니다. <ListView> </ Listview>에 넣어야합니다. 이것이 왜 정답으로 받아 들여지지 않았는지 궁금합니다.
zolio

1
우리는 둘 다 (무효화 및 제로화)해야합니까?
guness

3
@ 프라나 브. 선생님, 프로그래밍에 대해 쓰겠습니다. 감사합니다.
Geltrude

1
이상하게도 dividerHeight = 0 만 작동하지 않았으며, divider = @ null 만 작동했습니다. 왜?
Chintan Shah

96
  1. 구분선을 제거하려면 다음 코드를 사용하십시오.

    android:divider="@null"
  2. 구분선 대신 공백을 추가하려는 경우 :

    android:divider="@android:color/transparent"
    android:dividerHeight="5dp"

따라서 구분선 속성에서 드로어 블 또는 색상을 사용할 수 있습니다.


65

이것을 달성하는 다른 방법이 있지만, 어느 것이 가장 좋은지 잘 모르겠습니다 (나는 최선의 방법이 있는지조차 모르겠습니다). ListView 에서이 작업을 수행하는 두 가지 다른 방법을 알고 있습니다.

1. 디바이더를 null로 설정하십시오.

1.1. 프로그래밍 방식으로

yourListView.setDivider(null);

1.2. XML

이것은 ListView 요소 안에 들어갑니다.

android:divider="@null"

2. 목록보기 요소 사이에 공간을 추가하지 않으려면 분배기를 투명하게 설정하고 높이를 0으로 설정하십시오.

2.1. 프로그래밍 방식으로 :

yourListView.setDivider(new ColorDrawable(android.R.color.transparent));
yourListView.setDividerHeight(0);

2.2. XML

android:divider="@android:color/transparent"
android:dividerHeight="0dp"

1
경우에 따라 구분선 색상을 투명하게 설정하는 데 문제가있는 것 같습니다. 내 ListView 요소에는 각각 단색의 반투명 배경이 있습니다. 디바이더를 숨기는 두 번째 방법을 사용했을 때 여전히 "디바이더"가 나타납니다. 첫 번째 방법으로 전환하면 "분배기"가 사라졌습니다.
marmarshal


20

분배기를 null로 설정하십시오.

자바

  listview_id.setDivider(null);

XML

<ListView 
  android:id="@+id/listview"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  />

15
   <ListView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/list"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:divider="@null"
  android:dividerHeight="0dp"/>

1
이 코드는 질문에 대답 할 수 있지만 문제를 해결하는 방법 및 / 또는 이유에 대한 추가 컨텍스트를 제공하면 답변의 장기적인 가치가 향상됩니다.
Donald Duck

12

listview 태그에 아래 속성을 넣을 수 있습니다

android:divider="@null"

(또는) 프로그래밍 방식으로 listview.Divider(null); 여기 listviewListView참조가 있습니다.


10

또는 XML로 :

android:divider="@drawable/list_item_divider"
android:dividerHeight="1dp"

드로어 블에 색상을 사용할 수 있지만 (예 : # ff112233) 프리 컵 케이크 버전에는 색상을 설정할 수없는 버그가 있습니다. 대신 9 패치 또는 이미지를 사용해야합니다.


또는 분배기에 표준 안드로이드 드로어 블을 사용할 수도 있습니다.@android:drawable/divider_horizontal_...
racs

9

다음을 시도해보십시오. 그것은 나를 위해 일했다 ...

android:divider="@android:color/transparent"
android:dividerHeight="0dp" 

7

수백 줄의 클래스에서 코드 줄을 추적하는 것이 더 어려울 수 있으므로 XML 파일에서 구현하기가 더 쉽다는 것을 알게되었습니다. XML의 경우 "null"을 사용할 수 있습니다.

android:divider="@null"

5

ListFragment 사용

getListView().setDivider(null)

목록을 얻은 후


0

그래도 문제 android:divider="@null"가 해결되지 않으면 재활용 기보기에 대한 ListView를 변경 하시겠습니까? 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.