body: new Container( child: new Column( crossAxisAlignment: CrossAxisAlignment.stretch,mainAxisAlignment: MainAxisAlignment.spaceEvenly,children: <Widget>[ new Materialbutton( height: 120.0,child: new Column( children: <Widget>[ new Icon( Icons.av_timer,size: 100.0,),new Text('TIMER'),],onpressed: null,new Materialbutton( height: 120.0,child: new Column( children: <Widget>[ new Icon(Icons.alarm_add,size: 100.0),new Text('ALARM'),) ])));
但是,我不得不将Icon大小“硬编码”为100.0,将Materialbutton的高度“硬编码”为120.0.
我希望Materialbutton占用尽可能多的空间(每个屏幕占50%),我希望这些图标能够“很好地适应”该空间,理想情况下还有文本缩放.
我还没有找到在Flutter中做到这一点的方法.如果尝试这样做不是一个好主意(我希望在任何设备上使用屏幕的整个空间),请告诉我原因?
解决方法 您可以使用LayoutBuilder在构建期间动态获取父级大小.一个工作的例子:
voID main() { runApp(new MaterialApp( home: new TestIcon(),));}class TestIcon extends StatelessWidget { @overrIDe Widget build(BuildContext context) { return new Container( color: colors.white,child: new LayoutBuilder(builder: (context,constraint) { return new Icon(Icons.access_alarms,size: constraint.biggest.height); }),); }}总结
以上是内存溢出为你收集整理的如何自动调整Flutter中的图标大小全部内容,希望文章能够帮你解决如何自动调整Flutter中的图标大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)