使い方をまとめました。こちらの記事は考察なども含まれてるので、簡潔に分かりたい場合はこちらを参照してください
なんとなく自分で作る用のメモ(パズドラみたいのを作る時のfragmentの設計みたいなもの)
fragmentに関して部品である。
と考えて、また取り外しにおいて要素をメモリ上から消すのも簡単。
で、作る時には
activityはフラグメントを入れる要素のみ配置する
っていうルールを自分で持ちます。
(ここも持たないで自分で作ってもいいけど、そうすると取り外し・重ね順が面倒なので、とりあえずは、このまま)
で対応をします。
■起動
-splashfragment -loadingfragment
時間の経過で、splashfragmentをreplaceでloadingfragmentに。
loadingfragmentの時、loadingの実態は、activityで実装して状態の変化をloadingfragmentに送るのみ。
loading終了したら、loadingfragmentをremoveで完了。とすると、同じactivity内だけど、fragmentで配置したものはメモリからも消してある。
■パズドラみたいなタブのゲーム選択画面
-headerfragment -footerfragment -contentfragment
でここでは、各fragment毎にレイアウトで配置をする。
各フラグメントからの、ボタンクリックなどは、見た目の変更などを除いて、とりあえずactivityに持ってくる。
表示としては、contentfragmentだけ、0.1秒あとに読み込みでいいかなと。
contentfragmentはreplaceをして切り替えていくイメージ
■ローディング・ダイアログについて
-dialogfragment -loadingfragment -confirmfragment -errorfragment
とか前面で表示したいものは一括で用意をする。表示・非表示においては、自分で管理するが、ひとつのレイアウトに対してのreplaceをする事で、余計な事をしない用になりメモリの節約ができる
■ゲーム画面について
-gamefragment -gamesettingfragment
ゲームを実装する部分とゲーム以外を実装する部分で分けて実装をできるよ良い。
場合によっては1つのfragmentでもいいが、header footerを分けて実装でも問題はない。
タブのゲーム選択画面で設定していた要素については、すべて、removeしていると理想的。
ちょっと自分で作る用のメモなので、なんかわかりにくい感じですいません。
各fragmentを用いる事でactivityの遷移なしで、アプリが作れる感じになります。