左にNavigation Drawer。真ん中にコンテンツ。右にShortcutな使い方を考えました。
制御ばっちりのはずだよ!(泣
ポイントは
dispatchTouchEventでした。
今回の構造は、DrawerLayoutを親レイアウトとして上から順に、
メインコンテンツ用のFrameLayout、
左ドロワーをいれるFrameLayout(gravity:start)、
右ドロワーをいれるFrameLayout(gravity:end)となっています。
それぞれのFrameLayoutにFragmentをいれています。interfaceなどでイベントをFragmentとActivityでやり取りしてます。
これはActivityにDrawerLayoutをsetContentViewしているためです。そのためActivityで各ドロワーの制御を行うことになります。
それと右ドロワーのイベントは、左ドロワーのイベントが先に起こってしまいイベントが完結してしまうので、Activityから必要なdispatch系のメソッドを呼ぶことになります。
以上です。
0 件のコメント:
コメントを投稿