在ListView中垂直拉伸按钮

时间:2013-02-28 13:24:33

标签: android android-layout listview

我正在使用使用内联删除按钮的自定义ListView,但是当ListView行超过1行时无法使按钮垂直拉伸。

我在使文本尊重按钮边界方面遇到了一些麻烦,虽然这样做比较早,所以我怀疑这是一个简单的修复。

我使用的代码如下:

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

 <TextView 
    android:id="@+id/txt_item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:gravity="center_vertical"
    android:textStyle="bold"
    android:textSize="22sp"
    android:textColor="#000000"
    android:textIsSelectable="false"
    android:layout_margin="8dp" />

 <Button 
     android:id="@+id/btn_delete"
     android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:layout_alignParentRight="true"
     android:background="@drawable/delete"
     android:contentDescription="@string/delete"/>

</RelativeLayout>

看起来像这样:

My ListView

3 个答案:

答案 0 :(得分:1)

试试这个:

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical">

 <TextView 
    android:id="@+id/txt_item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:textStyle="bold"
    android:textSize="22sp"
    android:textColor="#000000"
    android:textIsSelectable="false"
    android:layout_margin="8dp" 
    android:layout_weight="1"
    android:singleLine="false"
    android:text=""/>

 <Button 
     android:id="@+id/btn_delete"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentRight="true"
     android:background="@drawable/ic_launcher"
     android:contentDescription="@string/delete"/>

</LinearLayout>

答案 1 :(得分:1)

为按钮添加此属性

android:scaleType="fitXY"

图像视图正在拉伸,但它所保留的图像却没有。请更改

android:background="@drawable/delete" 

android:src="@drawable/delete"

答案 2 :(得分:0)

你需要设置按钮也是

     android:layout_centerVertical="true"


<Button 
     android:id="@+id/btn_delete"
     android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:layout_alignParentRight="true"
   android:layout_centerVertical="true"
     android:background="@drawable/delete"
     android:contentDescription="@string/delete"/>

我认为它会对你有所帮助。