gpt4 book ai didi

flutter - 如何将符合 Material Design 标准的填充应用于我的 Flutter 支架?

转载 作者:IT王子 更新时间:2023-10-29 06:39:04 26 4
gpt4 key购买 nike

我编写了一个使用 package:flutter/material.dart 的 Flutter 应用程序。在 iOS 模拟器上运行应用程序如下所示。如您所见,一行中的组件之间没有填充,并且组件到达顶部,底部,左侧和右侧没有填充/边距/边框。我的问题是:

应用符合 Material 的填充的推荐方法是什么,例如转换为和下拉按钮之间的标签组件间隙。我会把我的组件打包到容器中并在那里应用填充吗?

非常感谢您。

Working Flutter application

这是应用程序代码:

import 'package:flutter/material.dart';
import 'converter.dart';
import 'model.dart';

const _appName = 'Temperature Converter';

void main() {
runApp(new MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: _appName,
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: _appName),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);

final String title;

@override
_MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
final Model model = new Model();
var _currentInput = const InputValue();

@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(config.title),
),
body: new Column(children: <Widget>[
new Row(children: <Widget>[
new Expanded(
child: new Input(
hintText: 'Temperature',
value: _currentInput,
onChanged: (input) => _currentInput = input)),
new DropdownButton(
items: createUnit(),
onChanged: (temperatureUnit newValue) {
setState(() {
model.inUnit = newValue;
});
},
value: model.inUnit)
]),
new Row(children: <Widget>[
new Text("Convert to"),
new DropdownButton(
items: createUnit(),
onChanged: (temperatureUnit newValue) {
setState(() {
model.outUnit = newValue;
});
},
value: model.outUnit),
]),
new FlatButton(
child: new Text('Calculate'),
onPressed: () {
setState(() {
double inTemp = stringToDouble(_currentInput.text);
model.inTemperature = inTemp;
model.calculateOutTemperature();
});
}),
new Text(model.outTemperatureAsString)
]), // This trailing comma tells the Dart formatter to use
// a style that looks nicer for build methods.
);
}

List<DropdownMenuItem> createUnit() {
var l = new List<DropdownMenuItem<temperatureUnit>>();
// degrees Celsius
l.add(new DropdownMenuItem<temperatureUnit>(
value: temperatureUnit.degreesCelsius,
child: new Text(unitDegreesCelsius)));
// degrees Fahrenheit
l.add(new DropdownMenuItem<temperatureUnit>(
value: temperatureUnit.degreesFahrenheit,
child: new Text(unitDegreesFahrenheit)));
// Kelvin
l.add(new DropdownMenuItem<temperatureUnit>(
value: temperatureUnit.kelvin, child: new Text(unitKelvin)));
return l;
}
}

这个问题绝不是暗示 Flutter 遗漏了什么。我只想做对。 ;-)

最佳答案

一般来说,我建议使用 Block 作为脚手架的子级。它有一个您可以设置的 padding 值。

您也可以只使用 Padding 小部件。

关于flutter - 如何将符合 Material Design 标准的填充应用于我的 Flutter 支架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41662798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com