Android 颤振:图像溢出容器
我正在为每项活动使用卡片,在颤振中列出活动信息。每张卡片的前导是与事件相关的 我想把我的卡片做成圆角矩形,但是当我把图像放在卡片的子行内的子行内时,图像的角不是圆角 我的卡片类别:Android 颤振:图像溢出容器,android,mobile,dart,widget,flutter,Android,Mobile,Dart,Widget,Flutter,我正在为每项活动使用卡片,在颤振中列出活动信息。每张卡片的前导是与事件相关的 我想把我的卡片做成圆角矩形,但是当我把图像放在卡片的子行内的子行内时,图像的角不是圆角 我的卡片类别: import 'package:flutter/material.dart'; class SmallEventCard extends StatefulWidget { final imageURL; final title; final time; final place; SmallEv
import 'package:flutter/material.dart';
class SmallEventCard extends StatefulWidget {
final imageURL;
final title;
final time;
final place;
SmallEventCard({this.imageURL, this.title, this.time, this.place});
@override
_SmallEventCardState createState() => _SmallEventCardState();
}
class _SmallEventCardState extends State<SmallEventCard> {
bool isFavorite;
@override
void initState() {
// TODO: implement initState
super.initState();
isFavorite = false;
}
@override
Widget build(BuildContext context) {
final screen = MediaQuery.of(context).size;
return Material(
child: SizedBox(
height: screen.height / 7,
child: Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0)),
child: Row(
children: <Widget>[
AspectRatio(
aspectRatio: 4 / 3,
child: Image.network(widget.imageURL,
fit: BoxFit.fitHeight,
),
),
SizedBox(
width: 10.0,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(widget.title,
style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),maxLines: 2, overflow: TextOverflow.clip,
),
SizedBox(height: 5.0,),
Text(widget.time.toString(),
overflow: TextOverflow.clip,
),
SizedBox(height: 5.0,),
Text(widget.place,
overflow: TextOverflow.clip,
),
],
),
),
SizedBox(
width: 50.0,
child: Align(
alignment: Alignment.centerRight,
child: Padding(
padding: const EdgeInsets.all(10.0),
child: IconButton(
onPressed: () {},
icon: Icon(Icons.favorite_border)),
)),
),
],
),
),
),
);
}
}
导入“包装:颤振/材料.省道”;
类SmallEventCard扩展StatefulWidget{
最终图像URL;
最终标题;
最后一次;
最终位置;
SmallEventCard({this.imageURL,this.title,this.time,this.place});
@凌驾
_SmallEventCardState createState()=>\u SmallEventCardState();
}
类_SmallEventCardState扩展状态{
布尔是我的最爱;
@凌驾
void initState(){
//TODO:实现initState
super.initState();
isFavorite=false;
}
@凌驾
小部件构建(构建上下文){
最终屏幕=MediaQuery.of(context).size;
退货(
孩子:大小盒子(
高度:screen.height/7,
孩子:卡片(
形状:RoundedRectangleBorder(borderRadius:borderRadius.circular(10.0)),
孩子:排(
儿童:[
AspectRatio(
方面:4/3,
子项:Image.network(widget.imageURL,
适合度:BoxFit.fit高度,
),
),
大小盒子(
宽度:10.0,
),
扩大(
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本(widget.title,
样式:TextStyle(fontSize:20.0,fontWeight:fontWeight.bold),maxLines:2,overflow:TextOverflow.clip,
),
尺寸箱(高度:5.0,),
文本(widget.time.toString(),
溢出:TextOverflow.clip,
),
尺寸箱(高度:5.0,),
文本(widget.place,
溢出:TextOverflow.clip,
),
],
),
),
大小盒子(
宽度:50.0,
子对象:对齐(
对齐:alignment.centerRight,
孩子:填充(
填充:常数边集全部(10.0),
孩子:我的钮扣(
按下:(){},
图标:图标(Icons.favorite_border)),
)),
),
],
),
),
),
);
}
}
Card
小部件有自己的剪切行为,因此您可以将clipBehavior
属性设置为Clip.antiAlias
以便剪切卡外的内容好问题。我为此挣扎了好几个小时。我的图像高度超出了卡片高度