我在開發我的應用程式時,決定將快取的圖片放在網路圖片的位置,因為效果更好。我做到了。但是我的圖片已經不能被點擊了。當我點擊全屏時,影像只有白色,并顯示你們在 "errors_patch.dart "的標題上看到的錯誤(本地 "AssertionError_throwNew";)。我打賭是因為快取的網路圖片與PhotoView內imageProvider的網路圖片混合在一起,我不知道。
final urlImages1 = [
'https://i.imgur.com/Y3UejT0.jpg'。
'https://i.imgur.com/KNFL3qd.jpg'。
'https://i.imgur.com/fxAH9HY.jpg'。
'https://i.imgur.com/9GkgdKx.jpg'。
];
Widget buildImage(String urlImage01, int index) => Container(
邊緣。EdgeInsets.symmetric(horizontal: 5) 。
孩子。ClipRRect(
borderRadius: borderRadius.circular(20)。
孩子。GestureDetector(
孩子。Hero(
標簽。'imageHero'。
孩子。CachedNetworkImage(
imageUrl: urlImage01,
imageBuilder: (context, imageProvider) => Container(
width: 350,
高度。405。
裝飾。BoxDecoration(
borderRadius: borderRadius.round(20)。
影像。DecorationImage(
image: imageProvider, fit: BoxFit.cover)。)
),
),
占位符。(context, url) => SizedBox(
width: 100,
高度。100,
兒童。中心(
孩子。圓形進度指示器(
valueColor:
AlwaysStoppedAnimation<Color>(Colors.pink.shade700)。
)),
),
errorWidget: (context, url, error) => Icon(Icons.error)。
),
),
onTap: () {
Navigator.push(
背景關系。
MaterialPageRoute(
建設者。(_) {
return Scaffold(
extendBodyBehindAppBar: true。
appBar: AppBar(
提升。0,
backgroundColor: Colors.transparent,
leading: backIcon(),
),
身體。GestureDetector(
孩子。中心(
child: 英雄(
標簽。'imageHero'。
孩子。PhotoView(
backgroundDecoration:
BoxDecoration(color: Colors.black87),
minScale: PhotoViewComputedScale.包含 * 0.9,
maxScale: PhotoViewComputedScale.covered * 2。
imageProvider: NetworkImage(
urlImage01,
),
),
),
),
),
);
},
),
);
},
),
),
);
容器(
width: 405,
孩子。ClipRRect(
borderRadius:
borderRadius.only(
topLeft:
Radius.round(20)。
右上。
Radius.circular(20)。
),
孩子。列(
mainAxisAlignment:
主軸線對齊方式
.center,
兒童。[
CarouselSlider.builder(
itemCount:
urlImages1.length,
itemBuilder: (context,
index, realIndex) {
final urlImage01 =
urlImages1[index];
return buildImage(
urlImage01,
索引)。)
},
選項。
旋轉木馬選項(
高度。300。
放大策略。
CenterPageEnlargeStrategy
.高度。
放大中心頁。
true。
onPageChanged: (index,
原因)=>
setState(() =>
currentIndex =
index)。)
),
),
SizedBox(
高度。10。
),
],
),
),
),
uj5u.com熱心網友回復:
更新,伙計們,我是對的。真的是我認為錯誤的地方。所以只要改變這個粒子:
child: PhotoView(
backgroundDecoration:
BoxDecoration(color: Colors.black87),
minScale: PhotoViewComputedScale.包含 * 0.9。
maxScale: PhotoViewComputedScale.covered * 2。
imageProvider: NetworkImage(
urlImage01,
),
),
到這個:
child: PhotoView(
backgroundDecoration:
BoxDecoration(color: Colors.black87),
minScale: PhotoViewComputedScale.包含 * 0.9。
maxScale: PhotoViewComputedScale.covered * 2。
imageProvider: CachedNetworkImageProvider(
urlImage01,
),
),
我做到了。所以不用擔心了。問題是,我不能把這個答案標記為已解決。只有在2天內
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/332577.html
標籤:
