Flutter能改变屏幕亮度吗?

7

Flutter能改变屏幕亮度吗?我发现ThemeData中的Brightness只有两个值:light和dark。那么我该如何在应用程序中将屏幕亮度从1到10进行调整呢?


1
嗨,你可能想要查看这个:https://github.com/clovisnicolas/flutter_screen - Xrio
1个回答

5

是的,Flutter可以。你可以使用屏幕插件:屏幕插件

这是一个如何实现的例子,你只需设置_brightness为你想要的起始值,并使用滑块进行更改:

import 'package:flutter/material.dart';
import 'package:screen/screen.dart';

void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {
  bool _isKeptOn = false;
  double _brightness = 1.0;

  @override
  initState() {
    super.initState();
    initPlatformState();
  }

  initPlatformState() async {
    bool keptOn = await Screen.isKeptOn;
    double brightness = await Screen.brightness;
    setState((){
      _isKeptOn = keptOn;
      _brightness = brightness;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        appBar: new AppBar(title: new Text('Screen plugin example')),
        body: new Center(
            child: new Column(
                children: <Widget>[
                  new Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      new Text("Screen is kept on ? "),
                      new Checkbox(value: _isKeptOn, onChanged: (bool b){
                        Screen.keepOn(b);
                        setState((){_isKeptOn = b; });
                      })
                    ]
                  ),
                  new Text("Brightness :"),
                  new Slider(value : _brightness, onChanged : (double b){
                    setState((){
                       _brightness = b;
                     });
                    Screen.setBrightness(b);
                  })
                ]
            )
        ),
      ),
    );
  }
}

如果您需要更多解释,请告诉我。此解决方案仅适用于Android和iOS,不包括桌面端。


我无法访问快速面板亮度,一旦我使用Screen.setBrightness(b)来设置它。 如果我访问它,我会收到警告消息:“当前正在运行的应用程序正在控制快速面板,现在无法调整亮度。” - Dhiren Basra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接