OREFOLDER

KLWPで月間カレンダーその2:日曜始まりと月曜始まりも切り替えられるように

KLWPで月間カレンダーを作ってみました。コンポーネントとして作成したので、ダウンロードしてテストしてみていただけると嬉しいです。

実はKLWPでのカレンダー自体は3年と少し前にも作っていました。

うまく作れたと思っていたのですが、自分で使ってる時に何度か変な表示になったことがありました。それでいつか作り直したいなと思っていたのですが、それで3年以上経ってしまいましたね。

  • 本記事は広告およびアフィリエイトプログラムによる収益を得ています。

ダウンロード

Calendar3.komp
制作: orefolder
価格: 無料

ダウンロード

Calendar3b.komp
制作: orefolder
価格: 無料

ダウンロード

上記2つどちらも同じですが、calendar3.kompはいろいろ編集できるタイプ。calendar3b.kompはある程度ロックが掛かってて、使うだけならこちらのほうがわかりやすいです。

ダウンロードして、端末のKustomフォルダの中にあるKompornentフォルダに入れれば、KLWPのメニューから呼び出せるようになるはずです。

サンプル

グローバル変数をいじることで表示をカスタマイズできます。カスタマイズできる項目は以下の通り。

たぶんちゃんとできてると思うのですが、あまりテストしてないので何かしらでおかしな表示になるかもしれません。また、現在(2020年3月18日現在)KLWPでifがうまく動かないことが端末によってはあるようです。このカレンダーもifをたくさん使ってるので、変な表示になることもありえます。

前回からの変更点

3年前に作ったものとはいろいろ変わっているのですが、基本的に2週目から4週目の書き方を元にしています。詳細は省きますが、「2周目の月曜(日曜)の日付」は割と簡単に求められるので、ほかの日はそこからの日数で計算して表示しています。

3年前のときは「前月/当月の最終日」を計算して求めていたりしたのですが、実は$df(o)$で当月の日数を表示できると後から知りました。今回はそれも使っています。

また、前回は月曜始まりのみだったのですが、今回は日曜始まりも加えて、切り替えられるようにしています。これもまた厄介でした。最終的にはわりとシンプルにできたと思います。

まとめ

カレンダーの表示もいろいろやり方はあると思うのですが、実際に自分でどうやって作ろうか考えると難しいですね。けっこう頭の体操になります。

まぁ、ここまで苦労して作っても、Playストアにある他の人が作ったカレンダーコンポーネントのほうが多機能で良かったりするのですが…。


KLWPの使い方についてはこちらのページにてまとめています。使い方に困ったときなど、こちらのページも参考にしてください。

モバイルバージョンを終了