2015-06-08 33 views
0

列表視圖的列之間繪製垂直線這裏我創建一個由多列列表視圖組成的android應用程序。通過這個多列列表視圖,我想通過在它們之間繪製垂直線來分隔每列的數據。任何一個可以告訴我如何繪製列表視圖columns.Thanks之間的垂直線提前如何在android

這是我的列表視圖佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.developer.milanandroid.AC_fuse_ckt" > 


    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="35dp" 
     android:layout_below="@+id/pager_sliding_tab_strip" 
     android:weightSum="4" > 

     <TextView 
      android:id="@+id/txt_s.no" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="30dp" 
      android:text="sno" 
      android:textSize="20dp" /> 

     <TextView 
      android:id="@+id/txt_test_point_name" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="100dp" 
      android:text="Pointname" 
      android:textSize="20dp" /> 

     <TextView 
      android:id="@+id/txt_Description" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="120dp" 
      android:text="Description" 
      android:textSize="20dp" /> 

     <TextView 
      android:id="@+id/txt_Range" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="110dp" 
      android:text="Range" 
      android:textSize="20dp" /> 

     <TextView 
      android:id="@+id/txt_Measurement" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="80dp" 
      android:text="Result" 
      android:textSize="20dp" /> 
    </LinearLayout> 
    <View android:id="@+id/view_1" 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:background="#BDBDBD" 
      android:layout_below="@+id/linearLayout1"/> 

    <ListView 
     android:id="@+id/listView_bc_fuse_ckt_tests" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:padding="20dp" 

     android:layout_below="@+id/linearLayout1" > 
    </ListView> 

</RelativeLayout> 
+0

您可以使用'GridView'代替'ListView'代碼 –

+0

您能否提供包含'ListView'的佈局文件?你使用多個'ListView'還是將每個ListItem中的列分開? – AlexWalterbos

+0

感謝您的回覆。但是,在這裏我想使用列表視圖是可能的與列表視圖@SandeepSingh – dEePU

回答

0

list_item.xml

<?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="wrap_content" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:orientation="horizontal" 
     android:weightSum="8" > 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="0.80" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="a" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="0.80" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="B" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="1.20" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="C" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="1.20" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="D" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="1.30" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="E" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="0.70" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="F" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="1.20" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="G" /> 

     <View 
      android:layout_width="0.5dp" 
      android:layout_height="50dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="50dp" 
      android:layout_weight="0.80" 
      android:gravity="center" 
      android:paddingLeft="@dimen/medium_padding" 
      android:singleLine="true" 
      android:text="H" /> 
    </LinearLayout> 

</LinearLayout> 
0

您可以使用這

<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="wrap_content" 
    android:orientation="horizontal" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="2dp" 
     android:layout_height="match_parent" 
     android:background="#000000" 
     android:text="" /> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" /> 

    <TextView 
     android:layout_width="2dp" 
     android:layout_height="match_parent" 
     android:background="#000000" 
     android:text="" /> 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" /> 

</LinearLayout> 

我希望這將幫你

+0

但我希望它列表查看花花公子@Sandeep辛格 – dEePU

+0

這適配器佈局 –

+0

ListView只包含行 –

1

列表中沒有太多列的一個技巧是每個列都有一個固定的大小,就是簡單地用你用來分割標題的相同尺寸來劃分你的列表項目佈局。

然後,該列表的行中的每一列之間,可以

  • 添加1px的寬度的View和所需的分離器的顏色作爲背景顏色
  • 或把一個背景圖像上,其具有每個小區可能使用9貼片
  • 或讓LinearLayout爲您做好這項工作!

第三解決方案的一些細節: 使用LinearLayoutandroid:orientation:"horizontal"。您可以使用android:layout_weight自定義單元格填充可用空間的方式,或將一些設置爲您在android:layout_width中指定的固定寬度。對於使用權重進行調整的單元格,android:layout_width應設置爲wrap_content

然後,來到這裏的魔法屬性:

<LinearLayout 
    android:divider="@drawable/yourDividerDrawable" 
    android:showDividers="middle" 
/> 

就是這樣!

showDividers屬性告訴LinearLayout使用divider屬性中指定的可繪製項在物品之間自動繪製分隔線。 這裏,showDividers設置爲middle,因此分隔符僅在項目之間繪製。其他可能的值可以在第一項之前或最後一項之後添加分隔符。

0

一個非常簡單的方法,不需要你改變你的行佈局,就是將ListView包裝在FrameLayout中。在這種情況下,我從左邊距放置2行100dp和102dp。

<FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1"> 

    <ListView 
     android:id="@+id/myListView" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:cacheColorHint="#00000000" 
     /> 

    <TextView 
     android:layout_width="1dp" 
     android:layout_marginLeft="100dp" 
     android:layout_height="fill_parent" 
     android:background="@color/red" 
     /> 

    <TextView 
     android:layout_width="1dp" 
     android:layout_height="fill_parent" 
     android:layout_marginLeft="102dp" 
     android:background="@color/red"/> 

</FrameLayout>