2011-11-04 8 views

答えて

12

左右に透明なピクセルを持つ9パッチのPNGを作成します。たとえば、25ピクセルの透明なピクセルを持つ53x4,9.png(+ピクセルから9ピクセルにパッチする)では、1ピクセルが伸びて、その両側に25ピクセルがあります。

0

あなたは

mListView.setDivider(Drawable d);

を呼び出し、それをあなたがあなたのres /描画可能なフォルダに含めることができる描画可能に合格することができるはずです。ほとんどの場合、左右に透明度の高い水平線が含まれている9パッチを作るだけです。そして、ラインの中央部分を引き伸ばすように設定します。

3

あなたは9パッチを作成したくない場合は、list_itemのあなたのXMLコードで

<View android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginTop="4dp" android:background="#33B5E5" />

を挿入することができます。青い線が作成され、この線の幅を簡単に制御できます。 これを成功させるには、リストビューのディバイダを無効にする必要があります。与えられるものhere

+0

match_parent' ''に出発width'し、左または右のマージンを設定します。 –

49

RecyclerViewは現在、ListViewを使用するよりも好まれます。 RecyclerViewに分周器の幅を設定する方法については、this Q&Aを参照してください。

使用<inset>

描画可能/ list_divider.xml

<inset xmlns:android="http://schemas.android.com/apk/res/android" 
    android:insetLeft="10dp" 
    android:insetRight="10dp" > 

    <shape android:shape="rectangle" > 
     <solid android:color="@color/list_divider_color" /> 
    </shape> 

</inset> 

そして、あなたのレイアウトで

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:cacheColorHint="#00000000" 
    android:divider="@drawable/list_divider" 
    android:dividerHeight="1dp" > 
</ListView> 

enter image description here

出典:

+0

私はこれを試しました。しかし、それは私のカスタムディバイダをデフォルトのものにオーバーレイします。どんな考え? – Zen

+0

@Suragchはofftopicのため申し訳ありませんが、私は 'ListView'の非推奨に関するドキュメントで何の言及も見つかりませんでした。私はこれらの言葉の背後にあるあなたの考えを理解していますが、誰かを混乱させるかもしれないと思います。それにもかかわらず、素晴らしい答え。 @Viacheslav、 – Viacheslav

+1

、ありがとう。私は言葉を訂正した。 – Suragch

関連する問題