prefixIcon
обязательно оставит некоторые отступы в TextFormField
, вместо этого вы можете использовать описанный ниже способ, где вы также можете регулировать высоту, ширину и отступ для значка TextFormField
.В приведенном ниже примере мы берем Container
и Row
и делим их с помощью свойства flex
виджета Expanded
.После этого мы можем изменить высоту и ширину значка с помощью любого дочернего виджета, такого как Padding
или SizedBox
и т. Д. Кроме того, используя следующий способ, мы можем изменить высоту и ширину * 1010.* с отступом.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.green,
),
home: NumericComboLineBarChart(),
);
}
}
class NumericComboLineBarChart extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('MY APP'),
),
body: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
margin: const EdgeInsets.all(15.0),
// padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Colors.blueAccent),
borderRadius: BorderRadius.circular(10.0),
),
child: Row(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Expanded(
child: new Container(
child: Padding(padding: EdgeInsets.only(left: 2, right: 2),
child: Icon(
Icons.search,
size: 10.0,
),)
),
flex: 1,
),
Expanded(
child: TextFormField(
keyboardType: TextInputType.text,
textInputAction: TextInputAction.search,
onFieldSubmitted: (term) {},
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(vertical: 7.0, horizontal: 0),
hintText: "Search",
border: InputBorder.none,
),
),
flex: 9,
),
],
),
)
],
),
),
);
}
}
Надеюсь, это поможет:)