如何制作像火绒一样的生物编辑器-扑动firebase
我想要一个类似Tinder的Bio编辑器,当用户点击信息时,文本字段应该出现并从firebase检索数据,并显示旧Bio,如果用户点击键盘上的“完成”按钮或按下屏幕上的任何位置,数据应该提交。先谢谢你 这是我尝试过的代码,是否有任何方法可以在点击about容器时移除上层堆栈并显示文本字段,提交后堆栈返回并显示about字段,并且我还希望在文本字段中从firebase检索旧文本(当用户更新时) 我的老问题结束了,我有一个星期没有活动了如何制作像火绒一样的生物编辑器-扑动firebase,firebase,flutter,Firebase,Flutter,我想要一个类似Tinder的Bio编辑器,当用户点击信息时,文本字段应该出现并从firebase检索数据,并显示旧Bio,如果用户点击键盘上的“完成”按钮或按下屏幕上的任何位置,数据应该提交。先谢谢你 这是我尝试过的代码,是否有任何方法可以在点击about容器时移除上层堆栈并显示文本字段,提交后堆栈返回并显示about字段,并且我还希望在文本字段中从firebase检索旧文本(当用户更新时) 我的老问题结束了,我有一个星期没有活动了 Widget about(BuildContext conte
Widget about(BuildContext context, dynamic snapshot) {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: Container(
height: MediaQuery
.of(context)
.size
.height * 0.2,
width: MediaQuery
.of(context)
.size
.width,
decoration: BoxDecoration(
color: constantColors.white,
borderRadius: BorderRadius.circular(15),
),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Row(
children: [
Padding(
padding: const EdgeInsets.only(
top: 8.0,
left: 10,
),
child: Text(
"About",
style: TextStyle(fontSize: 24),
),
),
Padding(
padding: const EdgeInsets.only(top: 13, left: 6),
child: Icon(
FontAwesome.pencil,
size: 13,
),
)
],
),
Stack(
children: [
Container(
height: MediaQuery
.of(context)
.size
.height * 0.1,
width: MediaQuery
.of(context)
.size
.width,
child: TextField(
onTap: (){
Provider.of<PostFunctions>(context, listen: false).about(context, Provider.of<Authentication>(context, listen: false).getUserUid, {
'about': aboutController.text,
});
},
controller: aboutController,
maxLines: 8,
cursorColor: constantColors.green,
decoration: InputDecoration(
contentPadding: EdgeInsets.all(15),
hintText: 'A little about you',
isDense: true,
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: BorderSide.none),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: BorderSide.none),
fillColor: constantColors.white,
filled: true,),
),
),
Container(
height: MediaQuery
.of(context)
.size
.height * 0.1,
width: MediaQuery
.of(context)
.size
.width,
color: constantColors.white,
child: Text(snapshot.data.data()['about']),),
],
),
]),
),
);
}
Future about(BuildContext context, String userID, dynamic data)async{
return FirebaseFirestore.instance.collection('users').doc(userID).update(data);