I need to reduce the width of my border side in TextField. How can I do that?
final emailNameField = TextFormField(
autofocus: false,
controller: emailEditingController,
keyboardType: TextInputType.emailAddress,
validator: (email) => email != null && !EmailValidator.validate(email)
? "Enter a valid Email"
: null,
onSaved: (email) {
emailEditingController.text = '$email';
},
textInputAction: TextInputAction.next,
decoration: const InputDecoration(
prefixIcon: Icon(Icons.mail),
contentPadding: EdgeInsets.fromLTRB(20, 15, 20, 15),
prefixIconColor: Colors.red,
border: OutlineInputBorder(
borderRadius: BorderRadius.only(),
borderSide: BorderSide(width: 1)),
hintText: 'Email '),
);
//password field
final passwordNameField = TextFormField(
autofocus: false,
controller: passwordEditingController,
obscureText: true,
onSaved: (value) {
passwordEditingController.text = 'value';
},
textInputAction: TextInputAction.done,
decoration: const InputDecoration(
prefixIcon: Icon(Icons.vpn_key),
contentPadding: EdgeInsets.fromLTRB(200, 15, 20, 15),
prefixIconColor: Colors.red,
border: OutlineInputBorder(
borderSide: const BorderSide(
width: 2, color: Color.fromARGB(26, 204, 32, 32))),
hintText: 'Password ',
suffixIcon: Icon(Icons.remove_red_eye_rounded)));
CodePudding user response:
You can wrap parent Card
widget padding or just use margin
property for outside spacing, and wrap Column
widget with padding to provide inner spacing.
Card(
//for out side or wrap with padding widget
margin: const EdgeInsets.all(8.0),
color: Colors.cyanAccent,
// for inner spaciing
child: Padding(
// replace 16 with your desire padding value
// padding: const EdgeInsets.all(16.0),
padding:
EdgeInsets.only(left: 16, top: 16, right: 16, bottom: 16),
child: Column(
children: [
TextField(),
//...
],
),
),
)
CodePudding user response:
You can achieve that through decoration
property, here is a sample.
Pay attention that there is more than one type of borders styling you can apply.
the docs are very clear and straight to the point in explaining that https://api.flutter.dev/flutter/material/InputDecoration-class.html
decoration: InputDecoration( border: InputBorder.none, enabledBorder: OutlineInputBorder( borderSide: const BorderSide( color: Color.fromARGB(255, 223, 223, 223), width: 1.5), ),