0

さて、ListViewに水平の相対レイアウトがあり、ListViewの異なる行の間にマージンが必要ですが、1つの問題があります。右端に押されているボタンがあり、クリックゾーンをできるだけ大きくしたいと思います。相対レイアウトのルート要素にマージンがない場合は問題なく、ボタンは行の高さ全体を占めます。ただし、問題は、マージンがあるため、ユーザーがボタンの上下をクリックする機会があり、マージンが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

これを回避する1つの方法は、スペース全体を占める透明なレイアウトビュー(相対、線形、フレーム-ニーズに応じて)でImageButtonをラップすることです(つまり、android:layout_widthとandroid:layout_heightはfill_parentです)。次に、ボタンの場合と同じクリックハンドラーを外側のレイアウトに追加します。

于 2013-02-23T02:12:21.693 に答える