flutter可以改变屏幕的亮度吗?我发现ThemeData中的Brightness只有两个值:亮和暗。如何在应用程序中将屏幕亮度从 1 调整到 10?
小智 5
是的 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);
})
]
)
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更多解释,请告诉我。此解决方案仅适用于 Android 和 iOS,不适用于桌面案例。
| 归档时间: |
|
| 查看次数: |
9890 次 |
| 最近记录: |