2015-07-03 83 views
-3

我有一个listView与自定义行,我需要设置每行之间的自定义分隔线。 这是列表视图的代码:在列表视图中的行之间设置空间Android

<?xml version="1.0" encoding="utf-8"?> 
<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/list" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingTop="@dimen/menu_padding" 
android:background="@color/customBlue" 
android:divider="@drawable/list_divider" 
android:dividerHeight="2px" /> 

这是行的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="50dp" 
android:orientation="horizontal" 
tools:ignore="contentDescription" 
android:background="@color/strongBlue" > 

    <ImageView 
     android:id="@+id/row_icon" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:padding="10dp" 
     android:src="@drawable/ic_launcher" /> 

    <TextView 
     android:id="@+id/row_title" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:gravity="center_vertical" 
     android:padding="10dp" 
     android:textColor="@color/white" 
     android:textAppearance="@android:style/TextAppearance.Medium" /> 
</LinearLayout> 

这是对于2像素分隔的代码:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:bottom="1px"> 
     <shape android:shape="line"> 
      <stroke 
        android:color="#0C0832" 
        android:width="2dp" 
        /> 
      <size 
        android:height="1px" 
        /> 
     </shape> 
    </item> 
    <item android:top="1px"> 
     <shape android:shape="line"> 
      <stroke 
        android:color="#2D2E57" 
        android:width="2dp" 
        /> 
      <size 
        android:height="1px" 
        /> 
     </shape> 
    </item> 
</layer-list> 

的问题是每行之间有一个与listView backgroundColor具有相同颜色的随机空间,如果我将dividerHeight设置为4px,则可以看到我的分隔线。我如何删除自动创建的空间,并只有我的自定义分隔符?

回答

0

而是像素可以提供DP在xml

android:dividerHeight="10dp" 
    android:divider="#ffffff" 


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

<gradient 

android:type="radial" 
android:startColor="#343030" 
android:endColor="#151515" 
android:gradientRadius="300" 
android:angle="270" 
android:centerY="0.3"/> 

</shape> 

而不是使自定义绘制的分频器就可以直接给皮肤上色分频器。

+0

我需要在分隔2种不同的颜色,这就是为什么我不得不采取这种解决办法 – Signo

+0

您可以使用渐变两种颜色 –

+0

<?xml的version =“1.0”encoding =“utf-8”?>

0

使用行下面的代码线性布局

android:layout_marginTop="15dp" 
+0

尝试,但它不工作 – Signo

+0

保持高度包装内容然后给出余量 –

相关问题