Image 颤振盒内固定尺寸图像如何处理?
我是个新手,我喜欢颤振,但我不喜欢建筑布局 我正在开发一个包含卡片列表视图的应用程序。 每张卡片都在一个容器内,包含一个图像(具有固定的高度和宽度)和一个文本 我无法将图像正确放置在卡中。我想让图像覆盖盒子的宽度。 谢谢 代码如下:Image 颤振盒内固定尺寸图像如何处理?,image,layout,flutter,containers,Image,Layout,Flutter,Containers,我是个新手,我喜欢颤振,但我不喜欢建筑布局 我正在开发一个包含卡片列表视图的应用程序。 每张卡片都在一个容器内,包含一个图像(具有固定的高度和宽度)和一个文本 我无法将图像正确放置在卡中。我想让图像覆盖盒子的宽度。 谢谢 代码如下: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Wid
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final title = 'MyApp';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: ListView(
children: <Widget>[
Container(
margin:EdgeInsets.all(8.0),
child: Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8.0))),
child: InkWell(
onTap: () => print("ciao"),
child: Column(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8.0),
topRight: Radius.circular(8.0),
),
child: Image.asset(
'img/britannia.jpg',
width: 300,
height: 150,
fit:BoxFit.fill
),
),
ListTile(
title: Text('Pub 1'),
subtitle: Text('Location 1'),
),
],
),
),
),
),
],
),
),
);
}
}
导入“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
最终标题='MyApp';
返回材料PP(
标题:标题,,
家:脚手架(
appBar:appBar(
标题:文本(标题),
),
正文:ListView(
儿童:[
容器(
边距:所有边集(8.0),
孩子:卡片(
形状:RoundedRectangleBorder(borderRadius:borderRadius.all(Radius.circular(8.0)),
孩子:InkWell(
onTap:()=>打印(“ciao”),
子:列(
儿童:[
ClipRRect(
borderRadius:仅限borderRadius(
左上:半径。圆形(8.0),
右上角:半径。圆形(8.0),
),
子:Image.asset(
“img/britannia.jpg”,
宽度:300,
身高:150,
fit:BoxFit.fill
),
),
列表砖(
标题:文本(“发布1”),
字幕:文本(“位置1”),
),
],
),
),
),
),
],
),
),
);
}
}
如果fit属性可行,我会让这张非常清晰的备忘单(fit属性一章)详细说明所有内容:您需要添加-crossAxisAlignment:crossAxisAlignment.stretch,
列中的,以便孩子们可以占据水平空间
工作代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final title = 'MyApp';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: ListView(
children: <Widget>[
Container(
margin:EdgeInsets.all(8.0),
child: Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8.0))),
child: InkWell(
onTap: () => print("ciao"),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch, // add this
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8.0),
topRight: Radius.circular(8.0),
),
child: Image.network(
'https://placeimg.com/640/480/any',
// width: 300,
height: 150,
fit:BoxFit.fill
),
),
ListTile(
title: Text('Pub 1'),
subtitle: Text('Location 1'),
),
],
),
),
),
),
Container(
margin:EdgeInsets.all(8.0),
child: Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8.0))),
child: InkWell(
onTap: () => print("ciao"),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8.0),
topRight: Radius.circular(8.0),
),
child: Image.network(
'https://placeimg.com/640/480/any',
// width: 300,
height: 150,
fit:BoxFit.fill
),
),
ListTile(
title: Text('Pub 1'),
subtitle: Text('Location 1'),
),
],
),
),
),
),
Container(
margin:EdgeInsets.all(8.0),
child: Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(8.0))),
child: InkWell(
onTap: () => print("ciao"),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8.0),
topRight: Radius.circular(8.0),
),
child: Image.network(
'https://placeimg.com/640/480/any',
// width: 300,
height: 150,
fit:BoxFit.fill
),
),
ListTile(
title: Text('Pub 1'),
subtitle: Text('Location 1'),
),
],
),
),
),
),
],
),
),
);
}
}
导入“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
最终标题='MyApp';
返回材料PP(
标题:标题,,
家:脚手架(
appBar:appBar(
标题:文本(标题),
),
正文:ListView(
儿童:[
容器(
边距:所有边集(8.0),
孩子:卡片(
形状:RoundedRectangleBorder(borderRadius:borderRadius.all(Radius.circular(8.0)),
孩子:InkWell(
onTap:()=>打印(“ciao”),
子:列(
crossAxisAlignment:crossAxisAlignment.stretch,//添加此
儿童:[
ClipRRect(
borderRadius:仅限borderRadius(
左上:半径。圆形(8.0),
右上角:半径。圆形(8.0),
),
孩子:Image.network(
'https://placeimg.com/640/480/any',
//宽度:300,
身高:150,
fit:BoxFit.fill
),
),
列表砖(
标题:文本(“发布1”),
字幕:文本(“位置1”),
),
],
),
),
),
),
容器(
边距:所有边集(8.0),
孩子:卡片(
形状:RoundedRectangleBorder(borderRadius:borderRadius.all(Radius.circular(8.0)),
孩子:InkWell(
onTap:()=>打印(“ciao”),
子:列(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
ClipRRect(
borderRadius:仅限borderRadius(
左上:半径。圆形(8.0),
右上角:半径。圆形(8.0),
),
孩子:Image.network(
'https://placeimg.com/640/480/any',
//宽度:300,
身高:150,
fit:BoxFit.fill
),
),
列表砖(
标题:文本(“发布1”),
字幕:文本(“位置1”),
),
],
),
),
),
),
容器(
边距:所有边集(8.0),
孩子:卡片(
形状:RoundedRectangleBorder(borderRadius:borderRadius.all(Radius.circular(8.0)),
孩子:InkWell(
onTap:()=>打印(“ciao”),
子:列(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
ClipRRect(
borderRadius:仅限borderRadius(
左上:半径。圆形(8.0),
右上角:半径。圆形(8.0),
),
孩子:Image.network(
'https://placeimg.com/640/480/any',
//宽度:300,
身高:150,
fit:BoxFit.fill
),
),
列表砖(
标题:文本(“发布1”),
字幕:文本('Loc
Image.network(imageUrl, fit: BoxFit.fitWidth,),
Container(
width: MediaQuery.of(context).size.width,
height: 175,
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.cover,
image: NetworkImage(YOUTUBE_THUMBNAIL_PART_ONE +
video.key +
YOUTUBE_THUMBNAIL_PART_TWO),
),
)),
Container(
child:Image.asset(link,fit: BoxFit.fill,)
width: screensize.width,
height: 150,
))
return Container(
alignment: Alignment.center,
height: double.infinity,
width: double.infinity,
child: Image.asset(
'', //TODO fill path
height: double.infinity,
width: double.infinity,
fit: BoxFit.cover,
),
);
Image.asset(
'assets/images/desert.jpg',
height: 150,
width: MediaQuery.of(context).size.width,
fit:BoxFit.cover
)
child: Container(
alignment: Alignment.center,// use aligment
child: Image.asset(
'assets/images/call.png',
height: 45,
width: 45,
fit: BoxFit.cover,
),
),
Center(
child: Container(
margin: EdgeInsets.only(top: 75),
width: 120,
height: 120,
alignment: Alignment.center,
child: Image.asset(
"assets/images/call.png",
fit: BoxFit.cover,
height: 45,
width: 45,
),
decoration: new BoxDecoration(
color: Colors.white,
borderRadius: new BorderRadius.all(new Radius.circular(120)),
border: new Border.all(
color: Colors.blue,
width: 4.0,
),
),
),
)