Android自定义ListView项目,带有两个按钮和TextView

时间:2017-04-05 11:49:33

标签: android listview

我有一个ListView,其元素如下: ListView item 这是我的组件树: Component Tree

我会用图像更改这两个按钮,但是我怎么能让TextView填充整个宽度?因为它现在具有dp。

中指定的宽度

3 个答案:

答案 0 :(得分:2)

无需使用额外的LinearLayout

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="16dp"
    android:background="#e0e0e0">

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

    <Button
        android:id="@+id/editEexerciseBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/deleteEexerciseBtn"
        android:text="Edit"/>

    <TextView
        android:id="@+id/exerciseName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/editEexerciseBtn"
        android:layout_marginRight="8dp"
        android:layout_centerVertical="true"
        android:ellipsize="end"
        android:maxLines="1"
        android:text="This is a Large text with fill width"
        android:textSize="14sp"
        android:textColor="#000000"/>

</RelativeLayout>

<强>输出

enter image description here

答案 1 :(得分:0)

您必须为android:width="match_parent"设置TextView

但是,您也可以通过为每个layout_weight设置LinearLayout属性来解决此问题,并根据您的weight值平均分割您的观看次数。

在此处阅读更多内容:Layout weight

另一种选择是仅使用RelativeLayout,您可以自由设计并将视图放置在一个布局中。

答案 2 :(得分:0)

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_centerVertical="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:text="Text view"
        android:textSize="20sp" />
    <Button
        android:id="@+id/deleteBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="DELETE" />
    <Button
        android:id="@+id/editBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/deleteBtn"
        android:text="EDIT" />
</RelativeLayout>