请高手帮忙。我一直在寻找有关我的问题的解决方案,但直到现在我还没有找到它。
我有一个文本小部件,在小部件上方有一个下拉菜单可以选择字体大小、20、30 和 40。
我的问题是:
- 如何将默认字体大小设置为 20?
- 如何将选定的字体大小保存到sharedpreferences 中?
这是我的代码
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
runApp(MaterialApp(
home: MyTextApp(),
));
}
class MyTextApp extends StatefulWidget {
@override
_State createState() => _State();
}
class _State extends State<MyTextApp> {
SharedPreferences prefs;
List<double> _fontSizeList = [20, 30, 40];
double _changeFontSize;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('My Text Widget'),
),
body: SingleChildScrollView(
child: Column(
children: [
Card(
margin: EdgeInsets.only(bottom: 3),
child: ListTile(
title: Text("Font Size"),
trailing: DropdownButtonHideUnderline(
child: DropdownButton(
isExpanded: false,
value: _changeFontSize,
items: _fontSizeList.map((myFontSize) {
return DropdownMenuItem(
child: Text(myFontSize.toString()),
value: myFontSize,
);
}).toList(),
onChanged: (value) {
setState(() {
_changeFontSize = value;
});
},
hint: Text("Select FontSize"),
),
),
),
),
Center(
child: Padding(
padding: const EdgeInsets.all(20),
child: Text(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
style: TextStyle(fontSize: _changeFontSize),
),
),
),
],
),
),
);
}
}
我非常感谢您的帮助