Skip to content

Package for implementing night reader feature in Flutter app. Suitable for book apps, blogs apps,... or any app of sort that need this feature.

License

Notifications You must be signed in to change notification settings

SilentCatD/night_reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pub package

Package that implement the Night Light/ Night Reader effect in Flutter. Suitable for apps that need this feature. ex: book apps, blog apps, ...

Do note that this package has nothing (yet) to do with the OS/native's nightlight. It's simply make it's subtree under the effect of night reader.

Features

  • Apply controllable night reader effect on this widget subtree.
  • There can be many instance of this widget in the tree, each with their own night reader effect color, animation, parameters,...

Getting started

  • First import it:
import 'package:night_reader/night_reader.dart';

Usage

To make the whole app under the effect, one can simply wrap this widget around MaterialApp and control the value parameter and the whole app will be affected.

@override
Widget build(BuildContext context) {
  return AnimatedNightReader(
    value: 1,
    duration: const Duration(seconds: 2),
    child: MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    ),
  );
}

To only apply the effect to a particular subtree, one can wrap this widget where needed.

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(),
    body: Center(
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          AnimatedNightReader(
            tint: Colors.blue,
            value: value1,
            duration: const Duration(seconds: 2),
            child: Container(
              height: 300,
              width: 300,
              color: Colors.white,
              alignment: Alignment.center,
              child: const Text("Sub tree 1"),
            ),
          ),
          AnimatedNightReader(
            value: value2,
            tint: Colors.red,
            duration: const Duration(seconds: 2),
            child: Container(
              height: 300,
              width: 300,
              color: Colors.white,
              alignment: Alignment.center,
              child: const Text("Sub tree 2"),
            ),
          ),
        ],
      ),
    ),
  );
}

This package come with AnimatedNightReader, which will automatically animate between value [0-1] when changing the properties, other property animation is also supported.

But if one's needs arisen. They can control the not-animated version of this widget: NightReader, through any method that trigger a rebuild.

For more information on each property, please do see the document.

About

Package for implementing night reader feature in Flutter app. Suitable for book apps, blogs apps,... or any app of sort that need this feature.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages