Androidのリストビュー間の行を削除するにはどうすればよいですか?


401

私はListViewこのように2つのを使用しています:

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

2つのListViewの間に空白行が1つあります。どうすれば削除できますか?


3
異なるリストを表示する2つの別個のリストビューがありますか、それとも、リストビューの項目間に線があるということですか?
デイブウェッブ

それは「空白」または「黒い」線ですか?質問がOP以外の誰かによって編集されたので。それらの間には違いがあります
miva2

1
@deepthi、回答の1つを承認済みとしてマークすることを検討しますか?
Antek、

回答:


926

同じListView内のアイテム間のセパレーターを削除するための解決策は次のとおりです。

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

developer.android.com#ListView

または、XMLで実行する場合:

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

2
何らかの理由で、XMLで設定してもうまくいきませんでした。コードで設定する必要がありました。
Jeffrey Blattman、2012

8
私のためにXMLで作業しました。<ListView> </ Listview>に配置する必要があります。なぜこれが正しい答えとして受け入れられなかったのか疑問に思います。
zolio 2013年

1
両方を作成する必要がありますか(nullifyとzeroify)または1つだけで十分ですか?
ガネス、2013年

3
@Pranav。先生、プログラミングについて書いてみましょう。ありがとうございました。
Geltrude 2014年

1
奇妙なことに、dividerHeight = 0のみが機能せず、divider = @ nullのみが機能しました。どうして?
Chintan Shah 2015

96
  1. 仕切り線を削除する場合は、次のコードを使用します。

    android:divider="@null"
  2. 分割線の代わりにスペースを追加したい場合:

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

したがって、divider属性では任意のドローアブルまたは色を使用できます。


65

これを達成するためのさまざまな方法がありますが、どちらが最良であるかわかりません(最善の方法があるかどうかさえわかりません)。ListViewでこれを行うには、少なくとも2つの方法があります。

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
特定の状況では、仕切りの色を透明に設定するだけで問題が発生するようです。リストビューの各要素には、無地の半透明の背景がありました。仕切りを非表示にする2番目の方法を使用していても、「仕切り」がまだ表示されているように見えました。最初の方法に切り替えると、「除算器」が消えました。
themarshal 2015年


20

仕切りをnullに設定します。

JAVA

  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
このコードは質問に答えることがありますが、問題を解決する方法や理由に関する追加のコンテキストを提供すると、回答の長期的な価値が向上します。
ドナルドダック

12

リストビュータグのプロパティの下に置くことができます

android:divider="@null"

(または)プログラムでlistview.Divider(null); ここlistviewListView参照です。


10

またはXMLで:

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

ドローアブルには色を使用できます(例:#ff112233)。ただし、カップケーキ前のリリースには色を設定できないバグがあることに注意してください。代わりに、9パッチまたはイメージを使用する必要があります。


:または、あなたも除算器のための標準的なAndroidの描画可能な使用することができます@android:drawable/divider_horizontal_...
RACS

9

以下を試すことができます。それは私のために働いた...

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

7

何百行もあるクラスのコード行を追跡するのが難しくなる可能性があるため、XMLファイルに実装する方が簡単です。XMLには「null」を使用できます。

android:divider="@null"


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.