android - 我如何切换此代码以显示在 carousel pro flutter 上
问题描述
我正在尝试将这些图像显示到 carousel pro 中,但没有运气。
我想在我的移动应用程序中显示来自 Firestore 存储的一些照片,并且它可以正常工作,但我只想在轮播幻灯片中。
class ImagesScreen extends StatelessWidget {
Widget makeImagesGrid() {
return GridView.builder(
itemCount: 7,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2),
itemBuilder: (context, index) {
return ImageGridItem(index+1);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Test Image"),
),
body: Container(
child: makeImagesGrid(),
),
);
}
}
class ImageGridItem extends StatefulWidget {
int _index;
ImageGridItem(int index){
this._index = index;
}
@override
_ImageGridItemState createState() => _ImageGridItemState();
}
class _ImageGridItemState extends State<ImageGridItem> {
Uint8List imageFile;
StorageReference photosReference = FirebaseStorage.instance.ref().child("images/reklama");
getImage() {
int MAX_SIZE = 7*1024*1024;
photosReference.child("reklama_${widget._index}.jpg").getData(MAX_SIZE).then((data) {
this.setState(() {
imageFile = data;
});
}).catchError((error){
debugPrint(error.toString());
});
}
Widget decideGridTileWidget() {
if(imageFile == null) {
return Center(child: Image.asset("images/reklama.jpg"));
}else {
return Image.memory(imageFile,fit: BoxFit.cover);
}
}
@override
void initState() {
super.initState();
getImage();
}
@override
Widget build(BuildContext context) {
return GridTile(child: decideGridTileWidget());
}
}
解决方案
如果可能,请提供代码示例
我正在尝试类似的方法,但此处的图像来自firebase存储,并且在第一个示例中不是每个图像都提供路径,而是该文件夹中的所有图像
Widget build(BuildContext context) {
Widget imageCarousel = new Container(
height: 200.0,
child: new Carousel(
boxFit: BoxFit.cover,
images: [
AssetImage('images/kartelaime.jpg'),
AssetImage('images/shperblime.png'),
AssetImage('images/7vitemeridian.png'),
AssetImage('images/ndertshpis.jpg'),
AssetImage('images/ofertatjavore.png'),
AssetImage('images/zgjerimi.jpeg'),
],
autoplay: false,
animationCurve: Curves.fastOutSlowIn,
animationDuration: Duration(milliseconds: 1000),
dotSize: 4.0,
indicatorBgPadding: 4.0,
dotBgColor: Colors.transparent,
),
);
推荐阅读
- javascript - 将所有输入的 id 和值推送到 json 数组中
- php - 我需要 Zend 框架在 C 中编写 PHP 扩展吗?
- docker - Docker Stack 一个用于整个堆栈的静态 IP 地址
- excel - 范围快照作为弹出窗口
- java - Jackson,如何使用原始类型将 json 转换为 Java 类?
- azure - Azure DevOps 部署到本地计算机
- python - 熊猫中 for 循环的矢量化
- c++ - 在c ++中逐行拆分段落
- javascript - how to run a function when context changes in react
- c++ - How do you use the MySQL Connector/C++ and XDevAPI while using XAMPP to run MySQL?