[英]how to change TextField cursor color in flutter
我在 AppBar() 中使用 TextField 小部件
有一个问题,如您所见,当文本字段聚焦时,我无法设置 cursor 颜色
通常,文本字段 cursor 在聚焦时会闪烁。
我设置了 cursor 颜色属性,appbar 中的每个颜色属性,文本字段但它不起作用,即使文本字段提示文本也不起作用。
appBar: AppBar(
title: Card(
margin: EdgeInsets.only(
top: common_gap * 1.5, bottom: common_gap * 1.5),
child: TextField(
cursorColor: Constants.kPrimaryOrange,
controller: _controller,
focusNode: _focusNode,
onChanged: (value) {
setState(() {
_searchText = value;
});
},
decoration: InputDecoration(
prefixIcon: Icon(
Icons.search,
size: 20,
),
suffixIcon: _controller.text.length != 0
? IconButton(
icon: Icon(
Icons.cancel,
size: 20,
color: _searchText == ''
? Colors.transparent
: Colors.black87,
),
onPressed: () {
setState(() {
_controller.clear();
_searchText = '';
_focusNode.unfocus();
});
},
)
: Container(),
),
),
你能告诉我如何解决这个问题吗?
能否在main.dart页面的materialapp中添加。 你会停止应用程序并再次运行它吗?
MaterialApp(
title: "App Name",
theme: ThemeData(
// for iOS
cupertinoOverrideTheme: CupertinoThemeData(
primaryColor: Constants.kPrimaryOrange,
),
// for others Android
cursorColor: Constants.kPrimaryOrange,
home: HomePage(),
),
);
有两种方法可以做到这一点
第一种方法
将颜色直接分配给单个TextField
或TextFormField
TextFormField(
cursorColor: Colors.green,)
第二种方法
使用TextSelectionThemeData
在整个应用程序中分配 cursor 颜色
MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.green,
textSelectionTheme: TextSelectionThemeData(
cursorColor: Colors.green
),
),
home: LoginScreen(),
)
Output:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.