import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:loading_indicator/loading_indicator.dart';
import '../../widgets/constants.dart';
import '../../env.dart';
import '../../localization/app_localizations.dart';
import '../../widgets/api_services.dart';
import '../../widgets/size_config.dart';
class WeddingPlansScreen extends StatefulWidget {
@override
_WeddingPlansScreenState createState() => _WeddingPlansScreenState();
}
class _WeddingPlansScreenState extends State {
late InAppWebViewController _webViewController;
bool isLoading = true;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
SizeConfig().init(context);
return WillPopScope(
onWillPop: () async {
if (await _webViewController.canGoBack()) {
// Navigate back within the WebView
_webViewController.goBack();
return false; // Prevent closing the WebView
}
return true; // Close the WebView screen
},
child: Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false,
leading: IconButton(
icon: Icon(
Icons.arrow_back_ios_new_outlined,
color: Environment.appTheme,
size: Constants.space25,
),
onPressed: () {
Navigator.pop(context);
},
),
backgroundColor: Constants.whiteColor,
title: Text("Wedding Packages"),
),
body: Stack(
children: [
InAppWebView(
initialUrlRequest: URLRequest(
url: WebUri.uri(Uri.parse('${Environment.testUrl}')),
),
onLoadStart: (controller, url) {
setState(() {
isLoading = true;
});
},
onLoadStop: (controller, url) async {
setState(() {
isLoading = false;
});
},
onWebViewCreated: (controller) {
_webViewController = controller;
},
),
if (isLoading)
Center(
child: Container(
height: Constants.height35,
width: Constants.height35,
child: LoadingIndicator(
strokeWidth: 3.0,
indicatorType: Indicator.lineSpinFadeLoader,
colors: [Constants.darkGreyColor.withOpacity(0.6), Constants.darkGreyColor.withOpacity(0.6),],
),
)
),
],
),
),
);
}
}
< /code>
Я сейчас работаю на экране WebView в моем приложении Flutter. Тем не менее, я сталкиваюсь с проблемой, в которой файлы PDF не открываются правильно в рамках WebView. Когда я пытаюсь открыть PDF, я получаю следующее сообщение об ошибке в консоли.I/chromium(17997): [INFO:CONSOLE:1] "[object HTMLAnchorElement]", source: https://virgoansflorals.boomimart.com/_ ... de73a8f.js (1)
I/chromium(17997): [INFO:CONSOLE:1] "end", source: https://virgoansflorals.boomimart.com/_ ... de73a8f.js (1)
[AndroidInAppWebViewController] (android) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: [object HTMLAnchorElement]}
[AndroidInAppWebViewController] (android) WebView ID 0 calling "onConsoleMessage" using {messageLevel: 1, message: end}
[AndroidInAppWebViewController] (android) WebView ID 0 calling "onProgressChanged" using {progress: 10}
[AndroidInAppWebViewController] (android) WebView ID 0 calling "onProgressChanged" using {progress: 100}
[AndroidInAppWebViewController] (android) WebView ID 0 calling "onProgressChanged" using {progress: 100}
Подробнее здесь: https://stackoverflow.com/questions/796 ... in-webview
Flutter: PDF -файл inappwebView не открывается в WebView ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблема сборки Flutter InAppWebView: не удалось выполнить задачу «flutter_inappwebview»
Anonymous » » в форуме Android - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как я могу показать полноэкранный режим InAppWebView, скрывая нижнюю навигацию?
Anonymous » » в форуме Android - 0 Ответы
- 44 Просмотры
-
Последнее сообщение Anonymous
-