如何使用可变textview和一行上的两个按钮布局自定义listviewitem

时间:2014-05-15 19:27:38

标签: android listview button textview relativelayout

我已经创建了自定义列表视图。尽管我在使用listitem的布局时,一切正常。

我们的想法是拥有一个可以具有可变长度的文本视图(可以使用多行),并且textview旁边的两个按钮都在一行上。

这就是我所拥有的:

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:layout_weight=".80" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="A"
        android:layout_weight=".10"
        android:layout_toRightOf="@id/textView1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="B"
        android:layout_weight=".10"
        android:layout_toRightOf="@id/button1" />

虽然我的问题是textview填写了父级并按下了屏幕的按钮,但这很好用。 (当我有一个短文本时,按钮是可变的)

所以基本上,我需要的是一个80%宽的textview与左边对齐,两个10%宽的按钮与右边对齐。任何人都可以指导我朝正确的方向发展吗?

由于

2 个答案:

答案 0 :(得分:2)

您无法将layout_weightRelativeLayout一起使用。试试这个:

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:layout_weight="1" />

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

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="B" />
</LinearLayout>

答案 1 :(得分:0)

更改为LinearLayout。您不能将layout_weight与RelativeLayout一起使用。

祝你好运