有什么办法可以删除整个项目中的所有默认填充?
问题描述:
嘿我正在使用抽屉对象和所有的项目给儿童有一个默认的填充,所以需要如下:有什么办法可以删除整个项目中的所有默认填充?
作为一个开发人员,我想指定我自己的填充尺寸的对象,所以我可以根据需要设计应用程序。
第二个问题:有没有办法重新定位已经渲染的对象?
答
对于您的第一个问题,您可以将Drawer
项目包装在Padding
小部件中,然后在padding
属性中指定所需的填充类型。
这里是一个简单的例子,左边填充(0.0到20.0到80.0)。
drawer: new Drawer(
child: new ListView(
children: <Widget>[
new DrawerHeader(child: new Container()),
new Padding(padding: const EdgeInsets.only(left: 80.0),
child: new ListTile(
leading: new Icon(Icons.account_box, color: Colors.blue),),)
],
),
)
更新 如果您不希望使用ListTile
和撰写您的自定义图标,下面的例子可能是你一个很好的起点。
drawer: new Drawer(
child: new ListView(
children: <Widget>[
new DrawerHeader(child: new Container()),
new Align(alignment:FractionalOffset.centerLeft,child: new Icon(Icons.account_box, color: Colors.blue),),
],
),
)
至于你的第二个问题去的,你需要添加什么是你想实现的,一般来说更多的细节,是的,你可以通过改变重新定位一个StatefulWidget
它的state
在setState
调用中,似乎第二个问题与填充不相关,因此我建议为此创建一个单独的问题并向其添加更多详细信息。
答
回答第二个问题:这不是因为填充物是材料设计的重要部分。删除所有填充将违反创建UI的材料设计构建到小部件的目的。
正如您所看到的图标默认情况下在左侧具有空白。这是我的主要问题,所有元素都有余量或维度已经设置,但没有定制的可能性。唯一的选择是扩展每个类并实现自定义维度? – Robert
这是因为我们在这个例子中使用了一个'ListTile',并将图标提供给它默认设计的'leading'属性,如果你想从头开始重新构造所有东西并且完全控制定位,那么你应该编写自己的小部件,不要使用预定义的小部件。 – aziza
https://i.imgur.com/4RZceg9.jpg – aziza