フラッターの適応テーマ
あなたのフラッターアプリで光と暗いテーマのサポートを追加する最も簡単な方法.これは、手動で光や暗いテーマを設定することができますまた、あなたのシステムに基づいてテーマを定義することができます.また、アプリケーションの再起動時にテーマモードの変更を永続化します.
インストール
あなたのPubspecに以下の依存を加えてください.ヤル
dependencies:
adaptive_theme: ^1.0.0
用途
あなたはテーマを適用するためにAdaptiveThemeとあなたのMaterialAppをラップする必要があります
import 'package:adaptive\_theme/adaptive\_theme.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AdaptiveTheme(
light: ThemeData(
brightness: Brightness.light,
primarySwatch: Colors.red,
accentColor: Colors.amber,
),
dark: ThemeData(
brightness: Brightness.dark,
primarySwatch: Colors.red,
accentColor: Colors.amber,
),
initial: AdaptiveThemeMode.light,
builder: (theme, darkTheme) => MaterialApp(
title: 'Adaptive Theme Demo',
theme: theme,
darkTheme: darkTheme,
home: MyHomePage(),
),
);
}
}
テーマモードの変更
今あなたが上記のようにあなたのアプリケーションを初期化している.それは非常に簡単かつまっすぐにあなたのテーマモードを変更するには:光に暗い、暗い光またはシステムのデフォルトに.
// sets theme mode to dark
AdaptiveTheme.of(context).setDark();
// sets theme mode to light
AdaptiveTheme.of(context).setLight();
// sets theme mode to system default
AdaptiveTheme.of(context).setSystem();
害虫
非永続的なテーマ変更
This is only useful in scenarios where you load your themes dynamically from network in the splash screen or some initial screens of the app. Please note that AdaptiveTheme does not persist the themes, it only persists the theme modes(light/dark/system). Any changes made to the provided themes won’t be persisted and you will have to do the same changes at the time of the initialization if you want them to apply every time app is opened. e.g changing the accent color.
共有設定の使用
This package uses sharedpreferences plugin internally to persist theme mode changes. If your app uses sharedpreferences which might be the case all the time, clearing your sharedpreferences at the time of logging out or signing out might clear these preferences too. Be careful not to clear these preferences if you want it to be persisted.
AdaptiveTheme.prefKey
すべての設定をクリアしながら、それを除外する上記のキーを使用することができます.または、AdaptiveThemeを呼び出すことができます.Entity ()メソッドを使用して、次のように再度設定をクリアします.
final prefs = await SharedPreferences.getInstance();
await pref.clear();
AdaptiveTheme.persist();
for live example of adaptive_theme : click here
for more check this out
Reference
この問題について(フラッターの適応テーマ), 我々は、より多くの情報をここで見つけました https://dev.to/naveenjujaray/adaptive-theme-on-flutter-5960テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol