OnClickListener在填充区域工作

时间:2014-08-10 20:29:17

标签: android layout

我希望将ClickListener添加到@id/content时,它应该在RelativeLayout左侧的@id/group_indicator内的整个区域内工作。不仅在下面的选定区域。类似地,我想要@id/group_indicator

我想这是因为android:padding中的RelativeLayout,但我不知道如何让它发挥作用。

更多这方面,为什么@id/content@id/group_indicator的高度不相等?它们都与父底部和顶部对齐。

我的布局文件:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/selector_card_background"
    android:descendantFocusability="afterDescendants"
    android:padding="15dp">

    <TextView
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Test text"
        android:layout_toLeftOf="@+id/group_indicator" />

    <ImageButton
        android:id="@+id/group_indicator"
        android:layout_width="40dp"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="@null"
        android:scaleType="fitCenter" />
</RelativeLayout>

输出:

my output

如果标题不正确,请修复它,我不确定它是否清楚。

1 个答案:

答案 0 :(得分:0)

当你点击eddittext时,你实际上听不到填充,因为它是相对布局的一部分。

解决方案:

创建TextView的父视图并删除 PAdding of relativelayout并将填充添加到父视图(此父视图位于相对布局内)并使用该父视图来监听onclick,因此您将在onClick中监听整个区域。