カスタムListView仕切りの幅を行幅よりも小さくするために、どのように設定できますか?
左右に透明なピクセルを持つ9パッチpngを作成します。たとえば、両側に25個の透明ピクセル(+ピクセルから9パッチ)がある53x4 .9.pngは、1ピクセルを引き伸ばすため、両側に25ピクセルがあります。
RecyclerView
は、現在ListView
を使用するよりも一般的に優先されます。 RecyclerView
。で仕切りの幅を設定する方法については、 このQ&A を参照してください。
<inset>
drawable/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>
出典:
9パッチを作成したくない場合は、挿入できます
<View Android:layout_width="fill_parent" Android:layout_height="1dp" Android:layout_marginTop="4dp" Android:background="#33B5E5" />
list_itemのxmlコードで。青い線が作成され、この線の幅を簡単に制御できます。これを成功させるには、リストビューの仕切りを無効にする必要があります。与えられている ここ
あなたは呼び出すことができるはずです
mListView.setDivider(Drawable d);
そして、res/drawableフォルダーに含めることができるdrawableを渡します。ほぼ完全に行き渡らせたい場合は、左右に必要なだけ透明度のある水平線を含む9パッチを作成できます。そして、線の中央部分を伸ばすように設定します。