在我的应用程序中,当用户单击 FAB 时,它会触发包含文本字段的 ModalBottomSheet。直到今天(当我更新到 flutter 2.2.0 时),下面的代码工作正常:当用户点击文本字段时,BottomSheet 向上移动,我们可以正常使用键盘。现在,当我们点击文本字段时,键盘会隐藏 BottomSheet。
更新后有变化吗?
这是代码:
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.blue[800],
child: Icon(Icons.add),
onPressed: () {
showModalBottomSheet<void>(
isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20.0),
topRight: Radius.circular(20.0),
),
),
context: context,
builder: (BuildContext context) {
return Container(
height: 250,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(26.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
'Ajouter une liste au carnet',
textAlign: TextAlign.center,
style: TextStyle(
color: …Run Code Online (Sandbox Code Playgroud) 在演示应用程序中,我们找到了一个“final String? title;”的实例。 -> 为什么要加这个“?” 在类型 String 之后?
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, this.title}) : super(key: key);
**final String? title;**
@override
_MyHomePageState createState() => _MyHomePageState();
}
Run Code Online (Sandbox Code Playgroud)
同理,为什么在使用的时候要加一个“!” ?
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: **Text(widget.title!),**
),
body: Center(
Run Code Online (Sandbox Code Playgroud) 我有一个包含 n 个整数的列表。我想从此列表中随机选择三个值并将它们影响到三项列表。我怎样才能做到这一点 ?
我已经开始使用 PROVIDER 来管理我的应用程序中的状态。我按照教程使用 ChangeNotifierProvider 包装了我的 Material 应用程序。这是代码:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (BuildContext context) => ListsProvider(),
child: MaterialApp(
title: 'WordsApp',
theme: ThemeData(
primarySwatch: Colors.blue,
),
initialRoute: StartingPage.id,
routes: {
StartingPage.id: (context) => StartingPage(),
RegistrationScreen.id: (context) => RegistrationScreen(),
},
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
这个名为“ListsProvider”的提供程序负责“提供”需要在不同屏幕上显示的列表。我现在创建了第二个提供程序,我将其称为“user_data_provider”,现在我也需要将其添加到我的应用程序中。它将负责向许多不同的屏幕提供用户数据。
我怎样才能做到这一点 ?
当字符串包含撇号(单引号)时遇到问题。正在开发词汇学习应用程序(法语/英语)。用户必须回答测验。手机会告诉用户他/她输入的内容是否是正确的翻译。\n只要有撇号,该字符串就不会被识别。
\n例如:“一片草叶”:“un brin d'herbe”/“蜂巢”:“Un nid d'abeilles”。
\n为了检查答案,我将链分成一个列表: [un,nid,d'abeilles]\n即使用户输入“d'abeilles”,它也永远不会被识别为正确的。
\n我注意到语音转文本功能也存在同样的问题:如果用户说“s'habiller”(穿衣服)这个词,我的搜索功能永远找不到它。
\n有人知道为什么会发生这种情况吗?这会是一个“颤振”错误吗?
\n在应用程序中,我有一个使用 Microsoft Excel 创建的词库,然后导入到 Visual Studio 中。词库由具有一系列参数的 WORD 对象组成。这是一片草叶。
\nWord(\n id: 37,\n level: 6,\n main: "blade of grass",\n mainFr: "brin d'herbe",\n theme: [\n T(\n e: "house",\n f: "maison",\n ste: ["in the garden"],\n stf: ["dans le jardin"]),\n T(\n e: "nature",\n f: "nature",\n ste: ["in the meadow"],\n stf: ["dans la prairie"])\n ],\n articleEng: "a",\n articleFr: "un",\n nature: "noun",\n plur: "blades of grass ",\n ortho2: "",\n phon: …Run Code Online (Sandbox Code Playgroud) dart ×4
flutter ×4
string ×2
apostrophe ×1
flutter-showmodalbottomsheet ×1
keyboard ×1
provider ×1
textfield ×1
types ×1