go 掉textField
的边框并在输入文本样式中添加下划线如何?
TextField(
style: TextStyle(
fontSize: 15,
decoration: TextDecoration.underline,
), decoration: InputDecoration(
border: InputBorder.none,
),
),
像这样的事情
Edit 2:个
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(
scaffoldBackgroundColor: Colors.black,
),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Padding(
padding: const EdgeInsets.all(32.0),
child: Center(child: MyWidget()),
),
),
);
}
}
class MyWidget extends StatefulWidget {
@override
State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
String filtext = " ";
TextEditingController myController = TextEditingController();
FocusNode myFocusNode = FocusNode();
@override
void dispose() {
myController.dispose();
myFocusNode.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
constraints: BoxConstraints(maxWidth: 0, maxHeight: 0),
child: IntrinsicWidth(
child: TextField(
focusNode: myFocusNode,
controller: myController,
onChanged: (value) {
filtext = value;
if (value.length <= 0) {
filtext = " ";
}
setState(() {});
},
style: TextStyle(
decoration: TextDecoration.underline,
),
decoration: InputDecoration(
contentPadding: EdgeInsets.zero, border: InputBorder.none),
),
),
),
Container(
width: MediaQuery.of(context).size.width,
child: InkWell(
onTap: () {
setState(() {});
FocusScope.of(context).requestFocus(myFocusNode);
myFocusNode = FocusNode();
setState(() {});
},
child: RichText(
text: TextSpan(
style: DefaultTextStyle.of(context).style,
children: <TextSpan>[
TextSpan(text: ' I am '),
TextSpan(
text: " $filtext ",
style: TextStyle(
decoration: TextDecoration.underline,
)),
TextSpan(text: ' Thank you for coming'),
],
),
),
)),
],
);
}
}