Wansuko-cmd / Passon

3 stars 0 forks source link

Dialogのデザインを修正 #26

Closed Wansuko-cmd closed 2 years ago

Wansuko-cmd commented 2 years ago

概要

一覧画面でのFABを押すことで出てくるDialogを修正しました

image

実装したところ

デザイン 表示する部分

懸念点

Index197511 commented 2 years ago

肝心な動作する部分をどう実装すればいいのかが分かりませんでした・・・

あまり意図がくみ取れていなくて申し訳ないです..... 従来のFragmentやActivityと同じようにbindingを通してDialogFragmentを操作することで解決できないですかね?bindingを操作できるのはonCreateDialog内であることにだけ気を付けてください! 外部からの値注入は今の感じでよいと思います!Click時のイベント処理はViewModelにおいてよさそうな感じがします!DialogFragmentに対してViewModelを注入して、それを親Fragmentの中で監視してあげればよいんじゃないかなと思います!

Index197511 commented 2 years ago

この辺とか参考になるのかな? https://zenn.dev/m_coder/articles/article-zenn-custom-dialog-by-dialogfragment

Wansuko-cmd commented 2 years ago

https://github.com/Wansuko-cmd/Passon/pull/26#issuecomment-1058054682 image こんな感じでボタンがあるときに、「作成」を押せば、 -> EditTextの内容及びCheckboxの中身を入手 -> 事前に渡されていたリスナーを実行 となるわけですが、スマートなやり方が思いつきませんでした・・・

Wansuko-cmd commented 2 years ago

自分が思いついたという方法は↑のコミットで追加したような方法です

  1. Dialogの中身を表すカスタムビューを作成
  2. そのカスタムビューを呼び出すだけのxmlを作成
  3. 2で作成したものをDialogとして呼び出す

ただ、もう少しスマートにできるのではないかと思っています

Index197511 commented 2 years ago

https://github.com/Wansuko-cmd/Passon/pull/26#issuecomment-1058755345

カスタムビューを挟む必要はなさそうかも!FragmentやActivityのレイアウトを作るようにそのままxmlに書いて使ってしまってよいと思います! カスタムビューはめっちゃ便利なんですが、レイアウトの階層が増えることになってしまうのでむやみに使ってしまうとパフォーマンスの低下を招いてしまうので気にしてみるといいかもです!

ymshun commented 2 years ago

これは直接関係ないASの設定でこれやると楽だよって話なんだけど、 ASで 保存+コード整形+import最適化 っていうマクロをctr+sとかの保存ボタンに割り当てると幸せになれるかも。 https://qiita.com/konifar/items/1f56c82490986d1613a8

Wansuko-cmd commented 2 years ago

一通り修正しました!