Android 用边距填充水平列表行上的父级

Android 用边距填充水平列表行上的父级,android,listview,margin,android-relativelayout,imagebutton,Android,Listview,Margin,Android Relativelayout,Imagebutton,好的,我在ListView上有一个水平相对布局,我想在ListView的不同行之间留一个边距,但我有一个问题。我有一个按钮被推到最右边,我希望点击区域尽可能大。如果相对布局的根元素上没有边距,我就可以了,我的按钮将占据行的整个高度。但问题是因为有边距,用户有机会单击按钮上方和下方的边距,以触发OnItemClick事件,这不是按钮所需的功能,有时可能会令人沮丧 例如: <RelativeLayout android:layout_height="match_parent"

好的,我在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>


如果有任何帮助,我将不胜感激。很显然,这是可能的,我只是看不见。解决这一问题的一种方法是将ImageButton包装在一个透明的布局视图中(相对、线性、框架-取决于您的需要),它确实占据了整个空间(即android:layout\u width和android:layout\u height是填充的)。然后将与按钮相同的单击处理程序添加到外部布局。

我在我的应用程序中这样做了。请注意,
match\u parent
更好,
fill\u parent
不受欢迎。因此,我在RelativeLayout中嵌套了一个框架布局,并使用alignParentRight将其向右推,但它仍然无法填充整个高度。此外,我可能应该提到,我的文件的实际布局是顶部线性布局,宽度和高度都与父级匹配。