如何在listView元素中绘制线条?

时间:2014-04-27 14:01:45

标签: android android-listview android-canvas android-custom-view

我需要在listView项目中绘制线条,这一行必须显示项目之间的依赖关系。 enter image description here我已阅读this,但我认为在我的案例中很难按点绘制线条。我认为使用proggres吧,但它也不是一个好的解决方案什么是最好的练习做这个?例如,如果我有tv1.weight = 1,customview weight = 3,tv.weight = 1我怎么能设置widht of line?

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

<TextView
        android:layout_width="wrap_content"
        android:layout_height="2dp"
        android:text="New Text"
        android:id="@+id/textView"/>

<View
        android:layout_width="50dp"
        android:layout_height="1dp"
        android:background="@android:color/holo_blue_light" />

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView"/>

1 个答案:

答案 0 :(得分:1)

首先,您需要为custom adapter制作Listview

然后,对于绘图线使用:

<View
     android:layout_width="fill_parent"
     android:layout_height="2dp"
     android:background="#c0c0c0"/>

现在由于行的宽度取决于listview项目中的数字,因此您可以轻松地在layout_width的{​​{1}}方法中设置行的getView()

您可以像这样custom adapter设置视图的高度和宽度

LinearLayout