Flutter 根据同级的宽度设置小部件的maxWidth
我正在尝试建立一个可滚动的图像/标题列列表。 标题最多应与图像一样宽 我目前掌握的代码如下:Flutter 根据同级的宽度设置小部件的maxWidth,flutter,flutter-layout,Flutter,Flutter Layout,我正在尝试建立一个可滚动的图像/标题列列表。 标题最多应与图像一样宽 我目前掌握的代码如下: SizedBox( 高度:…//任意高度,需要,因为我在一列中有多个高度 子项:ListView.builder( 滚动方向:轴水平, itemBuilder:(上下文,i)=>列( 儿童:[ 展开(图像[i]),//图像 文本(标题[i]),//标题 ] ), ), ) 在我看来,我需要一些方法来获得布局后图像的最终宽度,但我不确定如何做到这一点 非常感谢您的建议。我没听清您的问题,但我认为您的要求
SizedBox(
高度:…//任意高度,需要,因为我在一列中有多个高度
子项:ListView.builder(
滚动方向:轴水平,
itemBuilder:(上下文,i)=>列(
儿童:[
展开(图像[i]),//图像
文本(标题[i]),//标题
]
),
),
)
在我看来,我需要一些方法来获得布局后图像的最终宽度,但我不确定如何做到这一点
非常感谢您的建议。我没听清您的问题,但我认为您的要求是:
@override
Widget build(BuildContext context) {
final myImageAndCaption = [
["assets/images/banane.jpg", "caption1"],
["assets/images/banane.jpg", "caption2"],
["assets/images/banane.jpg", "caption3"],
];
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
body: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: myImageAndCaption.length,
itemBuilder: (context, itemCount) => Column(
mainAxisSize:MainAxisSize.min,
children: [
Image.asset(
myImageAndCaption[itemCount].first,
fit: BoxFit.fitWidth,
height: MediaQuery.of(context).size.height*0.7,
width: MediaQuery.of(context).size.width*0.6,
),
SizedBox(
height: MediaQuery.of(context).size.height*0.3,
width: MediaQuery.of(context).size.width*0.6,
child: FittedBox(
fit: BoxFit.fitWidth,
child: Text(myImageAndCaption[itemCount].last),
),
),
],
),
),
));
}
}
结果:希望对你有所帮助。我没听清你的问题,但我认为你的要求是:
@override
Widget build(BuildContext context) {
final myImageAndCaption = [
["assets/images/banane.jpg", "caption1"],
["assets/images/banane.jpg", "caption2"],
["assets/images/banane.jpg", "caption3"],
];
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
body: ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: myImageAndCaption.length,
itemBuilder: (context, itemCount) => Column(
mainAxisSize:MainAxisSize.min,
children: [
Image.asset(
myImageAndCaption[itemCount].first,
fit: BoxFit.fitWidth,
height: MediaQuery.of(context).size.height*0.7,
width: MediaQuery.of(context).size.width*0.6,
),
SizedBox(
height: MediaQuery.of(context).size.height*0.3,
width: MediaQuery.of(context).size.width*0.6,
child: FittedBox(
fit: BoxFit.fitWidth,
child: Text(myImageAndCaption[itemCount].last),
),
),
],
),
),
));
}
}
结果:希望对你有所帮助。这不起作用,因为我需要滚动视图具有水平滚动方向。我没看到你想要水平滚动。我懒得解释我在这里做了什么。你应该做一些关于mediaQuery和其他小部件的文档。好运气,这不起作用,因为我需要滚动视图有一个水平滚动方向,所以我没看到你想要水平滚动,我懒得解释我在这里做了什么,你应该做一些关于mediaQuery和其他小部件的文档祝你好运