使用保证金在水平列表行上填充父级

时间:2013-02-23 01:57:43

标签: android listview margin relativelayout imagebutton

好的,所以我在ListView上有一个水平的相对布局,我想在ListView上的不同行之间有一个边距,但我有一个问题。我有一个按钮被推到最右边,我希望点击区域尽可能大。如果相对布局的根元素上没有边距,我会很好,我的按钮将占据行的整个高度。但问题是因为存在余量,用户有机会点击按钮的上方和下方,其中边距将触发OnItemClick事件,这不是按钮的所需功能,有时可能令人沮丧。

示例:

<RelativeLayout android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="5dp">

 <ImageButton
        android:id="@+id/list_button"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:src="@drawable/btn"
        android:background="@android:drawable/list_selector_background" />
</RelativeLayout>

任何帮助都会非常感激,显然它可能让我感到遗憾。

1 个答案:

答案 0 :(得分:1)

解决这个问题的一种方法是将ImageButton包装在一个透明的布局视图中(相对的,线性的,框架 - 取决于你的需要) 占用整个空间(即android:layout_width和android: layout_height是fill_parent)。然后将相同的单击处理程序添加到外部布局中,就像对按钮一样。