【问题标题】:Can flutter change the brightness of the screen?颤振可以改变屏幕的亮度吗?
【发布时间】:2020-11-23 18:24:30
【问题描述】:

flutter 可以改变屏幕的亮度吗?我发现 ThemeData 中的 Brightness 只有两个值:亮和暗。如何在应用中将屏幕亮度从 1 调整为 10?

【问题讨论】:

标签: flutter


【解决方案1】:

是的 Flutter 可以,可以使用 screen 插件: Screen plugin

这是一个如何实现它的示例,您只需将_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,不适用于台式机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-13
    • 2012-09-11
    • 2020-10-10
    • 2021-12-12
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多