Flutter 中的底部被无限像素溢出
Posted
技术标签:
【中文标题】Flutter 中的底部被无限像素溢出【英文标题】:Bottom Overflowed By Infinity Pixels in Flutter 【发布时间】:2021-11-20 06:29:50 【问题描述】:我使用了从网站加载的 Webview 脚本数据。仅显示来自帖子标题的数据,但未显示 Webview 数据,而是在屏幕上显示由无限像素溢出的底部。我找不到我的问题。请给我建议。
body: Container(
height: 100,
child: Padding(
padding: EdgeInsets.all(8.0),
child: Column(
children:[
Text(widget.title,
textAlign:TextAlign.start,
style: TextStyle(fontSize:19, )
),
WebView(
navigationDelegate: (NavigationRequest request)
print('allowing navigation to $request');
return NavigationDecision.navigate;
,
javascriptMode: JavascriptMode.unrestricted,
initialUrl:'data:text/html;base64,$contentBase64',
onWebResourceError: (error)
//EasyLoading.dismiss();
,
onPageFinished: (finish)
//EasyLoading.dismiss();
,
),
],
)
)
),
【问题讨论】:
删除容器和列,你不能像这样使用webview,使用flutter_inappwebview
pub.dev/packages/flutter_inappwebview包
已经移除了容器,但我已经使用了 SingleChildScrollView。底部溢出无限像素问题已修复。但是 webview 数据不显示?帖子标题和网页视图都会显示。
试试我的回答here希望对你有帮助
@RavindraS.Patil 我使用并修复了它,但未显示 webview 数据。
@Abhijith。你有这样的脚本吗?
【参考方案1】:
用 expand() 包裹 webview。
完整代码:
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return MaterialApp(
home: MyHomePage(),
);
class MyHomePage extends StatefulWidget
MyHomePage(Key? key) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
class _MyHomePageState extends State<MyHomePage>
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(
title: Text('WebView Demo'),
),
body: Padding(
padding: EdgeInsets.all(8.0),
child: Column(
children: [
Text("widget.title",
textAlign: TextAlign.start,
style: TextStyle(
fontSize: 19,
)),
Expanded(
child: WebView(
navigationDelegate: (NavigationRequest request)
print('allowing navigation to $request');
return NavigationDecision.navigate;
,
javascriptMode: JavascriptMode.unrestricted,
initialUrl: 'https://www.google.com/',
onWebResourceError: (error)
//EasyLoading.dismiss();
,
onPageFinished: (finish)
//EasyLoading.dismiss();
,
)),
],
)),
);
【讨论】:
以上是关于Flutter 中的底部被无限像素溢出的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Bottom 被像素溢出,尝试了 Column()、Row()、Container() 等等
Flutter for Web:Android Chrome 底部的文本被截断