ListViewの区切り線幅のカスタマイズ

ListView(リストビュー)の区切り線の幅は区切り線のリソースを自作することで自由に変更することができます。

  1. 区切り線のリソースの作成
  2. ListViewにリソースを適用

区切り線のリソース作成

例えば区切り線のリソースとしてres/drawableフォルダ以下に例えばlist_divider.xmlのような名前でリソースファイルを作成します。

list_divider.xml
<?xml version="1.0" encoding="utf-8" ?>
<inset xmlns:android="http://schemas.android.com/apk/res/android" 
        android:insetLeft="30dp" 
        android:insetRight="30dp" >
    
    <shape>
        <size android:width="7dp" ></size>
        <solid android:color="#303030" ></solid>
    </shape>
    
</inset>

inset要素のinsetLeftinsetRight属性にそれぞれ区切り線の左右のパディングを指定することができます。ここでは左右に30dpのパディングをとっています。

それ以外の色や太さについては好きに指定してOKです。

リストビューに適用

区切り線リソースを作成したらレイアウト上でリストビューに区切り線リソースを設定します。

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="3dp" >
    
    <ListView
        android:id="@+id/graphicSelectionList" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="5dp" 
        android:layout_marginTop="5dp" 
        android:divider="@drawable/list_divider" >
    
    </ListView>

</LinearLayout>

ListViewdivider属性に区切り線のリソースを渡してあげれば次のような左右に余白を持ったリストビューが出来上がります。

幅を調節したリストビュー
関連項目
プライバシーポリシー