Androidでカレンダーアプリを作る際に利用したCompactCalendarViewの備忘録。
いろいろ調べたけど、シンプルで使いやすいライブラリ。
使い方
色やサイズなどは、XMLで設定する感じ
<com.github.sundeepk.compactcalendarview.CompactCalendarView android:id="@+id/calendar" android:layout_width="match_parent" android:layout_height="match_parent" <!-- 全体の設定:背景色、文字の色、文字のサイズ --> app:compactCalendarBackgroundColor="@android:color/white" app:compactCalendarTextColor="@android:color/brown" app:compactCalendarTextSize="16sp" <!-- 当日の設定:当日の背景色、Indicatorのスタイル、文字の色 --> app:compactCalendarCurrentDayBackgroundColor="@android:color/red" app:compactCalendarCurrentDayIndicatorStyle="fill_large_indicator" app:compactCalendarCurrentDayTextColor="@android:color/white" <!-- 選択日の設定:選択した日の背景色、Indicatorのスタイル、文字の色 --> app:compactCalendarCurrentSelectedDayBackgroundColor="@android:color/white" app:compactCalendarCurrentSelectedDayIndicatorStyle="fill_large_indicator" app:compactCalendarCurrentSelectedDayTextColor="@android:color/red" <!-- イベントの設定:イベントのIndicatorのスタイル、3つ以上のイベントがあるときに表示される文字の色 --> app:compactCalendarEventIndicatorStyle="small_indicator" app:compactCalendarMultiEventIndicatorColor="@android:color/orange" />
表示する月やロケールなどは、Java側で設定する感じ
Calendar curDate = Calendar.getInstance().getTime(); CompactCalendarView calendarView.setCurrentDate(curDate); // 現在の日時をセット calendarView.setFirstDayOfWeek(Calendar.SUNDAY); // 日曜日始まりに設定 calendarView.setLocale(TimeZone.getDefault(), Locale.ENGLISH); // ロケールの設定 calendarView.shouldDrawIndicatorsBelowSelectedDays(true); // 選択した日にEventがある場合でもEventを表示 calendarView.setListener(new CompactCalendarView.CompactCalendarViewListener() { @Override public void onDayClick(Date dateClicked) { // 日付がクリックされたときの処理 } @Override public void onMonthScroll(Date firstDayOfNewMonth) { // 表示する月が変わったときの処理 } });
予定はEventクラスで、CompactCalendarViewに追加する
// 予定(Event)の作成: Calendar cal = Calendar.getInstance(); cal.set(2017, 1, 1, 0, 0, 0); Event event = new Event( Color.BLUE, // 表示する予定の色 cal.getTimeInMillis() // 表示する日時 ); // カレンダーに予定を追加 calendarView.addEvent(event); // カレンダーの予定を全削除 calendarView.removeAllEvents();
他のカレンダーライブラリ
調べた際に見て、他のライブラリ。といっても1つしかない。。
いろいろ調べてみたが、自作するのが多い感じ。。
以上!!
参考になる書籍
Kotlinスタートブック -新しいAndroidプログラミング
- 作者: 長澤太郎
- 出版社/メーカー: リックテレコム
- 発売日: 2016/07/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン (CodeZine BOOKS)
- 作者: WINGSプロジェクト齊藤新三,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2018/02/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
黒帯エンジニアが教えるプロの技術 Android開発の教科書(ヤフー黒帯シリーズ)
- 作者: 筒井俊祐,里山南人,松田承一,笹城戸裕記,毛受崇洋
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/06/18
- メディア: 単行本
- この商品を含むブログを見る
Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)
- 作者: 株式会社Re:Kayo-System
- 出版社/メーカー: 翔泳社
- 発売日: 2014/05/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
【宣伝】複数言語へ一括翻訳できる文章・単語の管理アプリ『トランスノート』をリリースしました!
トランスノート|https://trans-notes.net/:plain
アプリやサービスの多言語対応をサポートしてくれるWebサービスです。
メッセージごとにIDをつけれるので、メッセージ一覧の作成・管理に利用できて、
AndoridのXML形式とか、ファイルをそのまま配置できるとこまでやってくれます。
詳しい内容はこちらの記事で。 wannabe-jellyfish.hatenablog.com
参考になるサイト様
- GitHub - SundeepK/CompactCalendarView: An android library which provides a compact calendar view much like the one used in google calenders.
- android - Add event to CalendarView - Stack Overflow
- Android CalendarView for Showing Events - Stack Overflow
- Calendar View Tutorial With Example In Android Studio
- Android Hub 4 you : the free android programming tutorial: Custom Calendar in Android | Android Calendar Example with full source code
- Google Code Archive - Long-term storage for Google Code Project Hosting.
- CalendarView 公開しました - Kazzzの日記
- AndCreate: Androidの自作CalendarView
- Androidでカレンダーアプリを作った時に参考にさせて頂いたサイト - tetsuromww’s diary