DateTimeを使い日時時間を表示します。
一定間隔で何かを実行させたい場合や、指定した時間に実行させたい場合などに使用します。
ファイル --> 新規作成 --> プロジェクト(P)... --> Cross-Platform --> Xamarin-Forms で作成
DigitalClockPage01
DigitalClockPage.cs 追加
DotMatrixClockPage.cs の書き換え
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace DigitalClockPage01
{
public partial class DigitalClockPage : ContentPage
{
public DigitalClockPage()
{
BackgroundColor = Color.Silver;
// 年月日ラベル
Label clockLabel01 = new Label
{
TextColor =
Color.White,
};
// 時分秒ラベル
Label clockLabel02 = new Label
{
TextColor =
Color.White,
};
Content = new StackLayout
{
// スペース
Spacing = 10,
// 縦上 上:Start 中央:Center
下:End
VerticalOptions =
LayoutOptions.Center,
// 横 左:Start 中央:Center
右:End
HorizontalOptions =
LayoutOptions.Center,
// Vertical:縦並び
Horizontal:横並び
Orientation =
StackOrientation.Vertical,
Children = { clockLabel01,
clockLabel02 }
};
// ページのSizeChangedイベントを処理
SizeChanged += (object sender, EventArgs args)
=>
{
// ページ幅のフォントサイズを縮小
//
(表示された文字列内の11文字に基づきます)。
if (Width > 0)
//
年月日ラベル
clockLabel01.FontSize =
Width / 6;
//
時分秒ラベル
clockLabel02.FontSize =
Width / 6;
};
// タイマーを起動
Device.StartTimer(TimeSpan.FromSeconds(1), ()
=>
{
//
ラベルのTextプロパティを設定します。
// 年月日ラベル
clockLabel01.Text =
DateTime.Now.ToString("yyyy MM dd");
// 時分秒ラベル
clockLabel02.Text =
DateTime.Now.ToString("h:mm:ss tt");
return true;
});
}
}
}
App.cs の書き換え
App.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace DigitalClockPage01
{
public class App : Application
{
public App()
{
// The root page of your
application
MainPage = new DigitalClockPage();
}
}
}
コメントをお書きください