Open gakuh opened 5 years ago
flutter_calendarが要件的に合っていそうなのでこれを試してみます
カスタマイズが難しそうであればゼロから作ることを検討します
flutter_calendarを試していましたが、月単位の表示をするときに開閉式になってしまいます
初期表示が必ずこのように折りたたまれた状態になってしまうので、用途によってはワンステップ余計にかかってしまいます
展開することもできますが上記の通りワンステップかかります
タップ時のイベントを設定できるのがこれだけという理由でflutter_calendarを試していましたが、 よく見るとflutter_calendar_carousel もタップ時のイベントを設定できそうなのでそちらも試してみようか迷いどころではありますが、結局スタイルの細かい問題を考えると自作の方向で行く方が正しいような気がして迷っています
カレンダースクリーンに遷移する用のボタンをつける際、他のStack系Widgetの下にそのボタンを追加してしまうとレイアウトが崩れてしまいます。
(下の画像の黒くなっているところにモーダルが表示されているのですが、隠れてしまっています)
カレンダーの実装が終わった後に調整しようと思います
@gakuh 生理周期のレンジ入力の時の確定・入力途中のキャンセル・入力後の修正方法をどうすればいいか迷っています
例えば順に二つ日付をタップした後に確定ボタンを押すようにするか、順に二つ日付をタップしただけで入力確定となるかの2通りが考えられます michiruの場合だと前者のような確定ボタンを押す形になっています
@TetsuFe 前者の方がユーザにとって安心感があるので前者で!後者をしたい場合は、edit in place(表示しているものをそのまま編集できる)形で実現した方がユーザにとってわかりやすい
UIの設計上は以下の3つのレベルに分けれられて、↓に行くほど技術的には難易度が高い。
Eveは、Calendarの表示と編集を同じ画面で完結して、ボタンのアクションを全て省いているので一番下のレベル。画面遷移やアクションが少ないので良いけど、ユーザの学習コストが高い&誤動作を誘発しやすい。対して、Michiruはユーザの学習コストは低いし誤動作は起きにくいが、アクションのステップ数が多いので同じ作業を繰り返しやるにはユーザにとっては手間。考え方として、ユーザの利用頻度が高い場合はある程度の高い学習コストがあってステップ数を減らすことに注力してもよい。ただ、頻度が低い場合は前回行った動作を忘れる可能性が高いので安全なUIにした方がよい。
今回つくるアプリの利用頻度は最初は高くないので、ユーザにとって学習コストが低い予測可能性が高いUIで実装するのがよい
まずは以下の方法で作成してみました
「生理周期を入力」を押すとモーダルが出ます
範囲を選択すると元のカレンダーにも同じように(少しずれていますが、すぐ修正はできます)表示されます
上のカレンダー画面の日付をタップすると日付ごとの情報を入力できるモーダルが開きます
WHY
WHAT
4/11日 追記:他の既存ビューに干渉しないようにする
イメージするアプリ
Eve https://itunes.apple.com/us/app/period-tracker-app-eve/id1002275138?mt=8
カレンダーでの入力(GitHub上ではmp4が貼り付けれないため) https://satudora-digital.slack.com/archives/CEQL3JVAS/p1554425504000100
REF
https://github.com/anicdh/date_range_picker