1

とが重なっている2つImageViewのsiv1とがあります。iv2iv2iv120dp

ここで、表示されている領域を正確にタップすると、iv1イベントに応答しますが、iv2の可視性をGONEまたはに設定し、それをに設定INVISIBLEするとsetEnabled(false)iv1完全に表示されますが、その領域の一部しか表示されません(背後に表示されていましたiv2)タップイベントに応答します。

オーバーラップビューが無効になっている、または表示されていない場合に、完全なImageViewをタップレスポンシブにするにはどうすればよいですか?

4

1 に答える 1

3

これは、iv2がiv1の前にあるために発生しています。を呼び出してみてくださいiv1.bringToFront();。これにより、iv1がiv2の前に配置され、その領域全体がタップレスポンシブになります。

また、後でiv2の可視性を変更したい場合は、iv2を非表示iv2.bringToFront();に設定する前と同じように呼び出す必要があります。

iv1を最初からiv2の前に配置する場合は、その定義をiv2の後にxmlファイルに配置する必要があります。ビューは、レイアウトxmlファイルに表示される順序で描画されます。したがって、最初のビューは下部にあり、最後のビューは上部にあります。

于 2012-06-21T20:31:30.440 に答える