Daily〜CustomRenderObjectの話 4
年月日表示を目指す
Sampleアプリ第三弾は時間的距離と空間的距離を融合したアプリだ。
GitHubのrepository名はdaily-timelineだが
アプリ内に表示されているのはVoygerII。
1977年8月20日に打ち上げられたヴォイジャー2号が
太陽系の星々を経由して、太陽系を離脱し、
シリウスに接近するまで(ここは未来の話)を時間表示しているが、
それは近似的に、距離の表示にもなっている。
なぜ1号ではなく2号かといったら、
アプリの構成を考えていたときに、たまたま
ヴォイジャー2号の通信が回復した、というニュースを見たから。
2023年8月5日 Je suis la(私はここにいるよ) という項目がそれ。
ちなみにヴォイジャー2号はあと数年ですべての電源を失って
二度と通信ができなくなる。
それでもまっすぐに宇宙を飛び続ける。
ヴォイジャー打ち上げの年に理系進学をあきらめた私の、
見果てぬ夢みたいな存在である。
視点1、何を変えたか(1)
firebase接続からjson読み込みに戻している。
そのほうが共有しやすいから。
MenuPageに検索窓を残してあるが、
codeはfirebaseの時のままコメントアウトしてあって使えない。
正直に言えば、なにをどう検索するのかわからないので、放置、ということ。
前回ついていたclearボタンは、うっとおしいのでsubmitボタンに併合した。
年月日表示への苦悶と妥協 〜何を変えたか(2)
年月日表示に変えた。
が、見ていただくとわかるように、目盛りが空欄になっている。
そして年月日はラベルに表示されている。
これで「年月日表示」というか?
最小のメモリ1、はピンチアウトでどんどん広げられる。
その空白を見ていると、ここを12分割して、さらに31分割して、
みたいに考えてしまうが、
1は1なのだ。
別に1年じゃなくていい。
Distanceでは10㎝にしたじゃないか。
ということで、1を1日と思うことにした。
つぎは30や31で月を変えたい、という欲求が、当然ある。
そして365か366で年が変わってほしい、みたいな。
が、それが果てしもなくめんどうくさい。
そもそも今の暦が不変の暦というわけでもない。
二万年前の8月15日、って、意味あるか?ということ。
年月日の表示は「目安」ぐらいでいい気もする。
jsonにはpoint[年、月、日]で指定している。
月日を指定しないなら[年、 0、0]だ。
それを
((point[0]-1)*366) + ((point[1]-1)*30.5) + (point[2]).toDouble()
という計算で読んで、10進数の目盛りに貼り付けている。
10進数の目盛りは紛らわしいので表示していないが、pointとしては生きている。
そして年月日はlabelに表示した。
1年が366倍になって、目盛りはどこまで行けるのか?
BigBangは楽勝、BigCrunchやOscillatory universeはむりかもね。
シリウスまでは行ける、アンドロメダ星雲はダメかも。
妥協といえば妥協だが、とりあえずこれでいこう。
視点2、cloneしたら動くか
動きます
・・・多分。環境によるかもしれないが。
内容の変更にかかわるcodeの詳細は、次回。
![Flutter大学](https://storage.googleapis.com/zenn-user-upload/avatar/f485149097.jpeg)
Flutter大学はFlutterエンジニアに特化した学習コミュニティです! 初心者から中上級者まで幅広く在籍し、切磋琢磨しています! 入会をご希望の方はこちらから→ flutteruniv.com
Discussion