33

listview仕切りにマージンを設定しようとしています。
分割線は破線です。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:dashGap="1dp"
        android:dashWidth="1.5dp"
        android:width="1dp"
        android:color="#FF404040" />

    <size android:height="3dp" />

</shape>

そして、listview仕切りを設定する場所

<ListView
    android:id="@+id/lv_news_feed_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white"
    android:divider="@drawable/ch_dashed_line_divider"
    />

しかし、仕切りのマージンが左右に必要です。形状にパディングも設定しようとしましたが、パディングをlistview無視しています。

    <padding
        android:bottom="15dp"
        android:left="15dp"
        android:right="15dp"
        android:top="15dp" />

listviewアダプターの getView() を除いて、仕切りにマージンを設定する可能性はありますか?

4

5 に答える 5

87

インセットは行く方法です

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="15dp"
    android:insetRight="15dp" >

    <shape
        android:shape="line" >
        <stroke
            android:dashGap="1dp"
            android:dashWidth="1.5dp"
            android:width="1dp"
            android:color="#FF404040" />

            <size android:height="3dp" />

    </shape>

</inset>
于 2012-12-06T18:14:50.270 に答える
5

次のアイデアを使用できます。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <solid android:color="@color/table_background"/>
    </shape>
</item>
<item android:left="2dp" android:right="2dp">
    ... your shape here ...
</item> </layer-list>

わたしにはできる。それが役立つことを願っています。

于 2012-10-13T15:07:45.103 に答える
3

グラデーションを使用して、ストロークの代わりに右マージンと左マージンを取得できます。このサンプルを試してみてください。黒で始まり、黒で終わります。中央では白になります。マージンを指定したように見えます。

 <gradient android:startColor="#000000" android:centerColor="#ffffff"
    android:endColor="#000000" />
于 2012-06-19T07:46:26.250 に答える
1

それが可能だとは思いません:/各リストアイテムの下部に独自のドローアブルを追加し、ListViewsディバイダーを削除すると、好きなようにカスタマイズできます:)

res / drawableフォルダーを作成し、新しいxmlを作成します。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#666666"></solid>

</shape>

..次に、そのドローアブルをリストアイテムで使用します。

または、本当に迅速で汚い方法では、リストアイテムの下部に色付きの背景を持つ薄いLinearLayout(または他のレイアウト)を作成して、カスタマイズ可能なListView仕切りを偽造することがよくあります。

適切な解決策ではなく、いくつかの修正のアイデアだけです;)

于 2012-06-19T07:56:08.510 に答える