ListView项目中的TableRow

时间:2012-10-06 12:04:11

标签: android android-layout

我有一个ListView,其中每一行都有以下内容 1. TextView
2. Button

TextView可以包含多个长度的文本。所以列表以尴尬的方式出现。我认为出路将是将每个List项设置为具有2个单元格的表行(TextView和Button)。有没有办法做到这一点?或者可能有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

您可以使用相对布局来显示行。在“相对布局”中,在右侧放置一个按钮,将父级右对齐为true,然后将TextView设置在Button的左侧以匹配父级。您还可以将TextView指定为单行,并将ellipsize指定为true。这只是一个例子

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center_vertical"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:singleLine="true"
        android:ellipsize="end"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_toLeftOf="@+id/button1"
        android:text="This is your textView with a very long text. I hope this code serves your problem" />

</RelativeLayout>

您还可以使用2个TextView,这完全取决于您要显示的文本。

答案 1 :(得分:0)

LinearLayout和它的权重属性。更多官方文档http://developer.android.com/guide/topics/ui/layout/linear.html