土曜日と日曜日の色を変更したカレンダーを表示する方法(Xamarin.Forms)
対象製品
Xuni
詳細
Xuniのカレンダーコントロールは、規定で標準的なカレンダーを表示し、日付選択ができる状態になりカレンダーとしての機能を利用できます。
これが標準的な表示です。
日本にある多くのカレンダーは、土曜日が青、日曜日が赤で表示されています。
カレンダーをカスタマイズして、曜日の色を変更するには以下のコード記述で実現できます。
曜日、日付ともに対応するイベント内で表示内容を変更します。
曜日を表示する領域(曜日スロット): DayOfWeekSlotLoading
日付を表示する領域(日付スロット): DaySlotLoading
サンプルコード
C#(Xamarin.Forms)
Xuni > 技術情報 > ドキュメント > Calendar-機能-日付コンテンツのカスタマイズ
これが標準的な表示です。
日本にある多くのカレンダーは、土曜日が青、日曜日が赤で表示されています。
カレンダーをカスタマイズして、曜日の色を変更するには以下のコード記述で実現できます。
曜日、日付ともに対応するイベント内で表示内容を変更します。
曜日を表示する領域(曜日スロット): DayOfWeekSlotLoading
日付を表示する領域(日付スロット): DaySlotLoading
サンプルコード
C#(Xamarin.Forms)
public Xuni_QuickStartPage() { InitializeComponent(); // 曜日スロットの処理 calendar.DayOfWeekFontSize = 20; calendar.DayOfWeekSlotLoading += (sender, e) => { // 曜日スロットを取得して曜日領域に表示する内容を設定 var dayofweekSlot = e.DayOfWeekSlot as Xuni.Forms.Calendar.CalendarDayOfWeekSlot; dayofweekSlot.DayOfWeekTextColor = getColor(e.DayOfWeek); }; // 日付スロットの処理 calendar.DaySlotLoading += (sender, e) => { // 当月カレンダーの処理(前後の月に隣接する日ではない) if (!e.IsAdjacentDay) { // 日付スロットを取得して日付領域に表示する内容を設定 var daySlot = e.DaySlot as Xuni.Forms.Calendar.CalendarDaySlot; daySlot.DayTextColor = getColor(e.Date.DayOfWeek); daySlot.DayFontSize = 20; } }; } // 曜日で判断して色を返す関数 private Color getColor(System.DayOfWeek dayofWeek) { Color color; switch (dayofWeek) { case System.DayOfWeek.Saturday: // 土曜日は青 color = Color.Blue; break; case System.DayOfWeek.Sunday: // 日曜日は赤 color = Color.Red; break; default: color = Color.Black; // 既定値は黒 break; } return color; }
Xuni > 技術情報 > ドキュメント > Calendar-機能-日付コンテンツのカスタマイズ