如何通过点击颤振中的文本启用复选框?
how to enable checkbox with tapping on text in flutter?
我有一个复选框,当用户点击文本时,我想要的复选框旁边有一个文本,复选框是 enable/disable,我该怎么做?
Widget buildRememberCb() {
return Container(
height: 200,
child: Row(
textDirection: TextDirection.rtl,
children: [
Theme(
data: ThemeData(unselectedWidgetColor: Colors.white),
child: Checkbox(
value: isRememberMe,
checkColor: Color(0xfff44336),
activeColor: Colors.white,
onChanged: (value) {
setState(() {
isRememberMe = value!;
});
},
),
),
Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900, fontSize: 18, color: Colors.white),
),
],
),
);
}
用GestureDetector
包裹Text
并改变onTap
,
中isRememberMe
的值
Widget buildRememberCb() {
return Container(
height: 200,
child: Row(
textDirection: TextDirection.rtl,
children: [
Theme(
data: ThemeData(unselectedWidgetColor: Colors.white),
child: Checkbox(
value: isRememberMe,
checkColor: Color(0xfff44336),
activeColor: Colors.white,
onChanged: (value) {
setState(() {
isRememberMe = value!;
});
},
),
),
GestureDetector(
onTap: (){
setState((){
isRememberMe = isRememberMe ? false : true;
});
},
child: Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900, fontSize: 18, color: Colors.white),
),
),
],
),
);
}
如果你想要墨水飞溅,你可以用 InkWell
替换 GestureDetector
但更好的方法是只使用 TextButton
,
TextButton(
onPressed: () {
setState((){
isRememberMe = isRememberMe ? false : true;
});
},
child: Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900,
fontSize: 18,
color: Colors.white,
),
),
),
我有一个复选框,当用户点击文本时,我想要的复选框旁边有一个文本,复选框是 enable/disable,我该怎么做?
Widget buildRememberCb() {
return Container(
height: 200,
child: Row(
textDirection: TextDirection.rtl,
children: [
Theme(
data: ThemeData(unselectedWidgetColor: Colors.white),
child: Checkbox(
value: isRememberMe,
checkColor: Color(0xfff44336),
activeColor: Colors.white,
onChanged: (value) {
setState(() {
isRememberMe = value!;
});
},
),
),
Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900, fontSize: 18, color: Colors.white),
),
],
),
);
}
用GestureDetector
包裹Text
并改变onTap
,
isRememberMe
的值
Widget buildRememberCb() {
return Container(
height: 200,
child: Row(
textDirection: TextDirection.rtl,
children: [
Theme(
data: ThemeData(unselectedWidgetColor: Colors.white),
child: Checkbox(
value: isRememberMe,
checkColor: Color(0xfff44336),
activeColor: Colors.white,
onChanged: (value) {
setState(() {
isRememberMe = value!;
});
},
),
),
GestureDetector(
onTap: (){
setState((){
isRememberMe = isRememberMe ? false : true;
});
},
child: Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900, fontSize: 18, color: Colors.white),
),
),
],
),
);
}
如果你想要墨水飞溅,你可以用 InkWell
替换 GestureDetector
但更好的方法是只使用 TextButton
,
TextButton(
onPressed: () {
setState((){
isRememberMe = isRememberMe ? false : true;
});
},
child: Text(
"Remember Me",
style: TextStyle(
fontWeight: FontWeight.w900,
fontSize: 18,
color: Colors.white,
),
),
),