0

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

显然,任何帮助将不胜感激,我只是遗憾地看不到它。

4

1 回答 1

1

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

于 2013-02-23T02:12:21.693 回答