我正在使用Delphi 10.1 Berlin开发移动应用程序。我有一个TWebBrowser
,我需要禁用它的缩放选项。我该怎么做?
答案 0 :(得分:0)
虽然TWebBrowser
组件的Touch管理器在其InteractiveGestures集中包含缩放选项,但它似乎无法控制是否允许缩放。 (我使用Android应用程序对其进行了测试 - 缩放选项不会影响缩放显示页面的能力)
由显示的内容决定控制缩放。如果您要在组件中显示自己的HTML(即不允许浏览网页),请确保每个页面的<head>
中都包含以下内容:
<head>
<meta name="viewport" id="viewport" content="width=device-width, user-scalable=no, minimum-scale=1, maximum-scale=1" />
</head>
看看这个:
答案 1 :(得分:0)
您必须修改FMX来源。
适用于Apple iOS: 首先,将FMX.WebBrowser.Delegate.iOS.pas复制到项目的文件夹中。 <,在
结束时procedure TWebViewDelegate.webViewDidFinishLoad(webView: UIWebView);
添加以下行:
if webView <> nil then
begin
webView.scrollView.setMinimumZoomScale(1.0);
webView.scrollView.setMaximumZoomScale(1.0);
webView.scrollView.setZoomScale(1.0);
end;
重新编译项目,您将获得适合内容的网页浏览器,而不会缩放。
或者,您可以修改:
class function TNativeWebViewHelper.CreateAndInitWebView: UIWebView;
只是评论第二行:
// Result.setScalesPageToFit(True);
这样,您将获得具有未缩放内容的webbrowser,而不使用缩放选项。 根据您的要求选择更好的解决方案:)
适用于Android: 首先,将FMX.WebBrowser.Android.pas复制到项目的文件夹中。 <,在
结束时procedure TAndroidWebBrowserService.InitUIThread;
添加以下行:
FJWebBrowser.getSettings.setSupportZoom(false);
请注意,我使用Delphi 10.2 Tokyo检查了此代码。但乍一看FMX源代码在这部分看起来是一样的,所以它也应该在柏林工作。