在Android上的TableView单元格中使用透明按钮

时间:2014-11-06 11:53:11

标签: android button alpha-transparency

请查看以下布局。此布局在TableView中使用,并应用于每一行。问题是为什么在应用透明度时,每个tablerow中的按钮只能在tableviewcell的上半部分中单击。 没有透明度,按钮会填充正确的空间。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="10dp"
    android:paddingTop="10dp" >

    <ImageButton
        android:id="@+id/btnSelect"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@color/white"
        android:contentDescription="Geselecteerde rekening"
        android:src="@drawable/checkbox_akkoord_uit" />

    <ImageView
        android:id="@+id/imgPhoto"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignBottom="@+id/btnSelect"
        android:layout_marginLeft="4dp"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/btnSelect"
        android:scaleType="fitCenter"
        android:src="@drawable/icon_foto" />

    <ImageView
        android:id="@+id/imgPencil"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignBottom="@+id/btnSelect"
        android:layout_marginLeft="4dp"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/btnSelect"
        android:src="@drawable/potlood" />

    <ImageView
        android:id="@+id/ivDrag"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:layout_centerVertical="true"
        android:src="@drawable/settings" />

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="8dip"
        android:layout_toLeftOf="@+id/ivDrag"
        android:layout_toRightOf="@+id/imgPhoto"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtDescription"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Medium Text Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/green"
            android:textSize="@dimen/text_size_1" />

        <TextView
            android:id="@+id/txtProductname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Small Text"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/green"
            android:textSize="@dimen/text_size_2" />

        <TextView
            android:id="@+id/txtAccountnumber"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:maxLines="1"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/green"
            android:textSize="@dimen/text_size_3" />
    </LinearLayout>

<Button
    android:id="@+id/btnModify"
    android:background="@android:color/transparent"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_toRightOf="@+id/btnSelect"
    android:layout_toLeftOf="@+id/ivDrag" />

非常感谢任何帮助! 此致,拉乌尔

1 个答案:

答案 0 :(得分:0)

原来Button需要一个最小高度。因此,改变的XML定义可能是:

<Button
    android:id="@+id/btnModify"
    android:background="@android:color/transparent"
    android:minHeight="40dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/btnSelect"
    android:layout_toLeftOf="@+id/ivDrag" />

这对我有用!

问候,拉乌尔。