カテゴリー・パッケージ・リポジトリを検索

パッケージ詳細v1.0.1

dynamic_theme

実行時にテーマを変更し、再起動間で明るさの設定を保持します

30日間ダウンロード
875
いいね数
136
Pub ポイント
40

パッケージをインストール

flutter pub add dynamic_theme

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Dynamic Theme は、実行時におけるテーマ切り替えを可能にするFlutterパッケージで、ユーザーが明るいモードとダークモードの間をスムーズに切り替えることができます。アプリの再起動後も明るさ設定を自動的に保持し、一貫したユーザー体験を確保します。MaterialAppと簡単に統合でき、テーマを動的に更新するためのシンプルなAPIを提供します。完全な再ビルドなしにカスタマイズ可能な外観オプションを提供したいアプリに最適です。

用途

  • 実行時テーマ切り替え
  • 再起動後にユーザーの設定を保持する
  • モバイルアプリでのダークモード対応
  • リアルタイムでのUI外観のカスタマイズ
  • テーマの柔軟性によるアクセシビリティの向上

主な機能

  • リアルタイムテーマの更新
  • 自動明るさの保持
  • MaterialApp との簡単な統合
  • ライトモードおよびダークモードのサポート
  • 最小限のボイラープレートコード

適している対象

  • ダイナミックなテーマが必要なアプリ
  • ユーザー体験を最優先にする開発者
  • ダークモードをサポートするプロジェクト
  • クロスプラットフォームモバイルアプリケーション
  • カスタマイズ可能なUIを持つアプリ

注意事項

  • 明るさとテーマの変更に限定
  • 組み込み以外のカスタムテーマタイプには対応していません
  • テーマ固有のアセットを手動で処理する必要があります
  • 複雑なテーマシステムには適していません
  • 完全な機能を実現するには MaterialApp に依存しています

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

dynamic_theme

Dynamically changing your theme without hassle

This packages manages changing your theme during runtime and persiting that theme.

I wrote a medium post about this, check it out here!

Include in your project

dependencies:
  dynamic_theme: ^1.0.1

run packages get and import it

import 'package:dynamic_theme/dynamic_theme.dart';

if you want the dialog:

import 'package:dynamic_theme/theme_switcher_widgets.dart';

Usage

Wrap your material app like this:


class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new DynamicTheme(
      defaultBrightness: Brightness.light,
      data: (brightness) => new ThemeData(
        primarySwatch: Colors.indigo,
        brightness: brightness,
      ),
      themedWidgetBuilder: (context, theme) {
        return new MaterialApp(
          title: 'Flutter Demo',
          theme: theme,
          home: new MyHomePage(title: 'Flutter Demo Home Page'),
        );
      }
    );
  }
}

Change the theme like this:

  void changeBrightness() {
    DynamicTheme.of(context).setBrightness(Theme.of(context).brightness == Brightness.dark? Brightness.light: Brightness.dark);
  }
  
  void changeColor() {
    DynamicTheme.of(context).setThemeData(new ThemeData(
        primaryColor: Theme.of(context).primaryColor == Colors.indigo? Colors.red: Colors.indigo
    ));
  }

When changing the brightness with setBrightness, it is additionally stored in the shared preferences.

Also included

A dialog widget to change the brightness!

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing package code, view the documentation.

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。