diff --git a/lib/common/widgets/article_content.dart b/lib/common/widgets/article_content.dart index 45d28afa..97d256a2 100644 --- a/lib/common/widgets/article_content.dart +++ b/lib/common/widgets/article_content.dart @@ -11,6 +11,7 @@ Widget articleContent({ required BuildContext context, required List list, Function(List, int)? callback, + required double maxWidth, }) { List? imgList = list .where((item) => item.pic != null) @@ -57,31 +58,28 @@ Widget articleContent({ ), ); } else if (item.pic != null) { - return LayoutBuilder( - builder: (context, constraints) => Hero( - tag: item.pic!.pics!.first.url!, - child: GestureDetector( - onTap: () { - if (callback != null) { - callback( - imgList, - imgList.indexOf(item.pic!.pics!.first.url!), - ); - } else { - context.imageView( - initialPage: imgList.indexOf(item.pic!.pics!.first.url!), - imgList: - imgList.map((url) => SourceModel(url: url)).toList(), - ); - } - }, - child: NetworkImgLayer( - width: constraints.maxWidth, - height: constraints.maxWidth * - item.pic!.pics!.first.height! / - item.pic!.pics!.first.width!, - src: item.pic!.pics!.first.url, - ), + return Hero( + tag: item.pic!.pics!.first.url!, + child: GestureDetector( + onTap: () { + if (callback != null) { + callback( + imgList, + imgList.indexOf(item.pic!.pics!.first.url!), + ); + } else { + context.imageView( + initialPage: imgList.indexOf(item.pic!.pics!.first.url!), + imgList: imgList.map((url) => SourceModel(url: url)).toList(), + ); + } + }, + child: NetworkImgLayer( + width: maxWidth, + height: maxWidth * + item.pic!.pics!.first.height! / + item.pic!.pics!.first.width!, + src: item.pic!.pics!.first.url, ), ), ); diff --git a/lib/pages/html/view.dart b/lib/pages/html/view.dart index 5c78c6b9..911620cb 100644 --- a/lib/pages/html/view.dart +++ b/lib/pages/html/view.dart @@ -564,14 +564,17 @@ class _HtmlRenderPageState extends State ); Widget get _buildContent => SliverPadding( - padding: const EdgeInsets.fromLTRB(12, 8, 12, 8), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), sliver: Obx( () => _htmlRenderCtr.loaded.value ? _htmlRenderCtr.response['isJsonContent'] == true - ? articleContent( - context: context, - list: _htmlRenderCtr.response['content'], - callback: _getImageCallback, + ? LayoutBuilder( + builder: (context, constraints) => articleContent( + context: context, + list: _htmlRenderCtr.response['content'], + callback: _getImageCallback, + maxWidth: constraints.maxWidth, + ), ) : SliverToBoxAdapter( child: LayoutBuilder( @@ -583,9 +586,7 @@ class _HtmlRenderPageState extends State ), ), ) - : SliverToBoxAdapter( - child: const SizedBox(), - ), + : SliverToBoxAdapter(child: const SizedBox()), ), ); }