[Flutter]カレンダーのロケールを設定するには?

Flutter

どうも、ちょげ(@chogetarou)です。

SfCalendarで表示するカレンダーのロケールは、どうやって設定すればいいのでしょうか?

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

カレンダーのロケールを設定するには、「flutter_localization」ライブラリを使います。

ライブラリの導入

まず、ライブラリを導入します。

次のコードを追加し、「pub get」してください。

dependencies:
  flutter_localizations:
    sdk: flutter

そして、ライブラリをインポートします。

import 'package:flutter_localizations/flutter_localizations.dart';

MaterialAppの設定

次に、MaterialAppへロケールを追加します。

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],
      supportedLocales: [
        const Locale('zh'),
        const Locale('ar'),
        const Locale('ja'),
      ],
      locale: const Locale('ja'),
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Test'),
        ),
        body: Test(),
      ),
    );
  }

ロケールのoverride

最後に、SfCalendarウェジェットのロケールを「override」します。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
            child: Localizations.override(
      context: context,
      locale: Locale('ja'),
      child: SfCalendar(view: CalendarView.month),
    )));
  }

「Localization.override」によって、SfCalendarのロケールを設定することが出来ます。

コメント

タイトルとURLをコピーしました