2013-10-28 72 views
0

我有一個帶有圓角的核心元素的自定義行樣式的ListView。我想爲ListView行設置一個邊距。但是當我試圖設置行的邊距時,我看不到任何東西。
這是我行樣式:ListView行的邊距不可見

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

    <stroke 
     android:width="1dp" 
     android:color="@color/orange" /> 

    <corners 
     android:bottomLeftRadius="3dp" 
     android:bottomRightRadius="3dp" 
     android:topLeftRadius="3dp" 
     android:topRightRadius="3dp" /> 

    <gradient 
     android:angle="-90" 
     android:endColor="@color/bright_orange" 
     android:startColor="@color/bright_orange" /> 

</shape> 

這是行佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/newsRow" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="10dp" 
    android:background="@drawable/message_row_style" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/txtTitle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:padding="5dp" /> 

</LinearLayout> 

我應該怎樣設置的ListView行之間的距離呢?

回答

2

你應該像dividerHeight一樣使用列表視圖的一些屬性。你可以在this thread找到更多的信息。

1

代替margin

使用LinearLayout父爲rows layout代替RelativeLayout

使用paddingLinearLayout代替這個

android:layout_margin="10dp" 

android:layout_padding="10dp" 
+0

不工作,我更新了我的問題代碼 –

0

嘗試這樣rounded_edge.xml

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

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

<stroke 
    android:width="1dp" 
    android:color="#dedede" > 
</stroke> 

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

<corners 
    android:topLeftRadius="7dp" 
    android:topRightRadius="7dp" 
    android:bottomLeftRadius="7dp" 
    android:bottomRightRadius="7dp"> 
</corners> 

</shape> 

而且在ListView控件,就把這行

android:background="@drawable/rounded_edge" 
+0

我不需要填充,我只需要在行之間的邊距。 –

+0

只要刪除<角落....... – NagarjunaReddy