我正在使用delphi 10.1柏林开发移动应用程序。我有一个TWebBrowser
,需要禁用其缩放选项。我该怎么做?
尽管TWebBrowser
组件的触摸管理器在其InteractiveMestures集中包含缩放选项,但它似乎无法控制是否允许缩放。(我使用Android应用程序对其进行了测试 - 缩放选项不影响缩放显示页面的能力(
这取决于正在显示的内容以控制缩放。如果要在组件中显示自己的HTML(即不允许浏览网络(,请确保每个页面在其<head>
中具有以下内容:
<head>
<meta name="viewport" id="viewport" content="width=device-width, user-scalable=no, minimum-scale=1, maximum-scale=1" />
</head>
请看一下:
如何禁用移动野生动物园的视口缩放?
您必须修改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;
重新编译项目,您将获得适合内容的Webbrowser,而无需缩放可能性。
另外,您可以修改:
class function TNativeWebViewHelper.CreateAndInitWebView: UIWebView;
仅评论第二行:
// Result.setScalesPageToFit(True);
这样,您将获得带有未添加内容的WebBrowser,而无需缩放选项。为您的需求选择更好的解决方案:(
for Android:首先,将fmx.webbrowser.android.pas复制到项目的文件夹。比,在
的末尾procedure TAndroidWebBrowserService.InitUIThread;
添加以下行:
FJWebBrowser.getSettings.setSupportZoom(false);
请注意,我用Delphi 10.2 Tokyo检查了此代码。但乍一看,FMX源代码在此部分看起来相同,因此它也应该在柏林工作。