我收到以下错误:
即,抛出了另一个异常:ParentDataWidget 的错误使用。在手机屏幕上显示错误。
@override
Widget build(BuildContext context) {
return MaterialApp(
title: widget.title,
theme: ThemeData.light().copyWith(
platform: _platform ?? Theme.of(context).platform,
),
home: DefaultTabController(
length: categoryNames.length,
child: Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: SafeArea(
child: Column(
children: <Widget>[
Chewie(
controller: _chewieController,
),
TabBar(
labelColor:Colors.black,
tabs: categoryNames,
),
Expanded(
child: TabBarView(
children: [
ImageList()
],
),
)
/*TabBarView(
children: [
Icon(Icons.directions_car),
Icon(Icons.directions_transit),
Icon(Icons.directions_bike),
],
)*/
],
)
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,请检查并让我知道问题。
Container(
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
border: Border(
left: BorderSide(
color: Colors.green,
width: 3,
),
),
),
height: 50,
),
Run Code Online (Sandbox Code Playgroud)
这应该显示一个圆形边缘的容器,带有 3px 宽的绿色左边框,以及子文本“这是一个容器”。然而,它只是显示了一个圆边容器,带有一个不可见的子元素和一个不可见的左边框。
当我取出borderRadius对象时,子Text和绿色左边框可见,但引入它再次隐藏了左边框和子Text。
主要问题似乎是自定义左边框,因为使用border: Border.all(width: 0)和borderRadius: BorderRadius.circular(10)使边缘根据需要变圆并显示孩子。但是现在我无法应用在这个特定设置中非常重要的绿色左边框。
那么我做错了什么,或者这是颤振中的错误,还是只是不允许的事情?
先感谢您。
编辑:下图是最终结果。颜色不重要
我是Flutter的新手,所以我想知道如何设置宽度以匹配父布局宽度
new Container(
width: 200.0,
padding: const EdgeInsets.only(top: 16.0),
child: new RaisedButton(
child: new Text(
"Submit",
style: new TextStyle(
color: Colors.white,
)
),
colorBrightness: Brightness.dark,
onPressed: () {
_loginAttempt(context);
},
color: Colors.blue,
),
),
Run Code Online (Sandbox Code Playgroud)
我对Expanded标签知之甚少,但Expanded扩展视图向两个方向,我不知道该怎么做.如果你知道,请帮助我,先谢谢你.
我正在使用Flutter列出有关电影的信息.现在我想要左边的封面图片是圆角图片.我做了以下,但它没有奏效.谢谢!
getItem(var subject) {
var row = Container(
margin: EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
Container(
width: 100.0,
height: 150.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8.0)),
color: Colors.redAccent,
),
child: Image.network(
subject['images']['large'],
height: 150.0,
width: 100.0,
),
),
],
),
);
return Card(
color: Colors.blueGrey,
child: row,
);
}
Run Code Online (Sandbox Code Playgroud)
如下
我正在尝试创建一个中心文本具有最大大小的行,如果文本内容太大,则它适合大小.
我插入TextOverflow.ellipsis属性来缩短文本并插入三点...但它不起作用.
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new HomePage(),
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) => new Scaffold(
appBar: new AppBar(
backgroundColor: new Color(0xFF26C6DA),
),
body: new ListView (
children: <Widget>[
new Card(
child: new Container(
padding: new EdgeInsets.symmetric(horizontal: 16.0, vertical: 18.0),
child: new Row(
children: <Widget>[
new Container(
padding: new EdgeInsets.only(right: …Run Code Online (Sandbox Code Playgroud) ListView当我FutureBuilder用 a包装时,我想在另一个小部件内部有一个小部件Column,以便有一个简单的Row. 我收到此错误:
The following assertion was thrown during performLayout():
I/flutter (13816): RenderFlex children have non-zero flex but incoming height constraints are unbounded.
I/flutter (13816): When a column is in a parent that does not provide a finite height constraint, for example, if it is
I/flutter (13816): in a vertical scrollable, it will try to shrink-wrap its children along the vertical axis. Setting a
I/flutter (13816): flex on a child (e.g. using Expanded) …Run Code Online (Sandbox Code Playgroud) 在Android上,每个View子类都有一个"setVisibility"方法,允许您修改View对象的可见性
设置可见性有3个选项:
Flutter中的Widgets是否有与上述相同的东西?
有关快速参考:https://developer.android.com/reference/android/view/View.html#attr_android : visibility
我想以Drawer编程方式打开而不是通过滑动它,如何禁用该滑动功能(抽屉的触摸功能)
我试图在左边的一个极端和右边的一个极端对齐两个项目.我有一行与左边对齐,然后该行的子项与右边对齐.但是,子行似乎从其父级中获取了对齐属性.这是我的代码
var SettingsRow = new Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Text("Right",softWrap: true,),
],
);
var nameRow = new Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Text("Left"),
SettingsRow,
],
);
Run Code Online (Sandbox Code Playgroud)
结果我得到了这样的东西
Left Right
Run Code Online (Sandbox Code Playgroud)
我想要的是什么
Left Right
Run Code Online (Sandbox Code Playgroud)
Row上还有足够的空间.我的问题是为什么Row不展示其MainAxisAlignment.end财产?
我有一个Column小部件,有两个TextField小部件作为孩子,我想在他们两个之间有一些空间.
我已经尝试了mainAxisAlignment: MainAxisAlignment.spaceAround,但结果不是我想要的.