のアクティビティがありSlidingPaneLayout
、内部には 2 つのフラグメントがあります。ListView
左側に a MapFragment
、右側に a です。ユーザーがパネルを閉じずにマップを移動できるように、生成されたタッチ イベントをインターセプトするにはどうすればよいですか?
右側のパネルを閉じたり開いたりするために使用したい唯一の領域は、最初の 4 分の 1 です。そのエリアの右側にマップを移動したいと思います。
ありがとう
EDIT2:
さて、SlidingPaneLayout を適切にサブクラス化する方法がわかりました。問題は、タッチ イベントを正しくキャプチャする方法です。
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN
&& event.getX() > (getWidth() / 6)) {
return false;
}
return super.onTouchEvent(event);
}
このコードでは、マップをスライドできません。固定されたままです。問題は、右側のパネルが選択されている場合にのみ (つまり、マップが表示されている場合にのみ) タッチをインターセプトしたいことです。