Android具有PreferenceScreen
,可为您提供一致的Settings界面,并自行处理许多SharedPreferences
功能。
Flutter中是否有类似的东西,还是我必须使用自定义ListView
自己创建?
答案 0 :(得分:5)
因此,没有像这样的任何小部件,您将不得不自行创建它,并在Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo Ende
Application.EnableEvents = False
For Each rng In Application.Intersect(Columns("D"), Target).Cells
If rng.Offset(0, -2).Value = "" Then
rng.Offset(0, -2).Value = Date
End If
Next rng
For Each rng In Application.Intersect(Columns("D"), Target).Cells
If rng = "" Then
rng.Offset(0, -2).Value = ""
End If
Next rng
Ende:
Application.EnableEvents = True
End Sub
或onChanged
事件中处理它们的动作。例如:
onTap
CheckboxListTile(
value: true,
title: Text("This is a CheckBoxPreference"),
onChanged: (value) {},
),
SwitchListTile(
value: false,
title: Text("This is a SwitchPreference"),
onChanged: (value) {},
),
答案 1 :(得分:3)
在Flutter中,创建PreferenceScreen页面的最简单方法是使用ListView和ListTiles。
ListView(children: <Widget>[
ListTile(
title: Text('Enable Feature'),
trailing: Checkbox(
value: PrefService.getBool('feature_enabled'),
onChanged: (val) {
setState(() {
PrefService.setBool('feature_enabled', val);
});
},
),
onTap: () {
setState(() {
PrefService.setBool(
'feature_enabled', !PrefService.getBool('feature_enabled'));
});
},
)
]),
但是您仍然需要聆听更改并保存。
要简化此操作,可以使用软件包preferences
。它删除样板代码并管理保存更改。上面的示例在preferences
下看起来像这样:
PreferencePage([
CheckboxPreference(
'Enable Feature',
'feature_enabled',
)
]),
您可以在https://pub.dartlang.org/packages/preferences下找到它。 有关更多功能,例如子页面,隐藏首选项或更多小部件,请查看示例。
答案 2 :(得分:0)
根据我现在的研究(我检查了https://pub.dartlang.org和其他资源),您的问题的答案是,没有像Flutter中那样的页面(请检查official documentation)。有一个SharedPreferences插件来自Flutter团队,但是如果您查看其源代码,您会发现它只是在进行数据修改。其他开发人员提供的其他替代方案也没有任何视觉效果(我会不断检查,如果找到,我将编辑我的帖子)。
有一些方法可以做到这一点,当您与flutter或 my在一起时,可以通过调用android bridge并仅拥有android专用的android屏幕来做到这一点(是的,我知道,这没有多大意义)真正的答案是,您可以使用您提到的列表视图来实现它,并根据需要分配不同的子元素。