缩放
本指南展示了如何使用 Zoom API。
JxBrowser 允许缩放网页内容或所有网页内容,获取网页缩放级别更改时的通知,覆盖默认的缩放级别等。
要使用适用于所有网页的全局缩放,请使用 ZoomLevels
类。可以通过 Profile
获取此类的实例。例如:
ZoomLevels zoomLevels = profile.zoomLevels();
val zoomLevels = profile.zoomLevels()
如果您使用 Engine.zoomLevels()
那么您将获得与默认 Profile 关联的 ZoomLevels
实例。
要控制加载在 Browser
实例中的网页的缩放,请使用 Zoom
类。
默认缩放级别
所有网页的默认缩放级别为 100%。要更改默认缩放级别,请使用 ZoomLevels.defaultLevel(ZoomLevel)
方法。
以下代码将所有网页的默认缩放级别设置为 150%:
zoomLevels.defaultLevel(ZoomLevel.P_150);
zoomLevels.defaultLevel(ZoomLevel.P_150)
控制缩放
您可以使用 Zoom
类在程序中对加载在 Browser
中的网页内容进行缩放,或者在具有触摸屏的环境中使用触摸手势进行缩放。
缩放级别为每个主机单独配置。如果您为 http://www.a.com
网页设置了缩放级别,则 http://www.b.com
网页的缩放级别将不会改变。
要更改缩放级别,您需要等待网页完全加载。
放大
要在当前加载的网页上执行放大操作,请使用以下方法:
zoom.in();
zoom.in()
缩小
要在当前加载的网页上执行缩小操作,请使用以下方法:
zoom.out();
zoom.out()
设置缩放级别
以下代码将已加载网页的缩放级别设置为 200%:
zoom.level(ZoomLevel.P_200);
zoom.level(ZoomLevel.P_200)
重置缩放
要将缩放级别重置为默认值,请使用以下代码:
zoom.reset();
zoom.reset()
禁用缩放
您可以使用 Zoom.disable()
方法禁用 Browser
中加载的所有网页的缩放功能。此方法禁用缩放功能并将缩放级别重置为默认值。之后,所有通过 JxBrowser 缩放 API 进行的程序化缩放尝试以及在触摸屏设备上使用的触摸手势将被忽略。
例如:
zoom.disable();
zoom.disable()
缩放事件
要在特定网页的缩放级别发生变化时获取通知,请使用 ZoomChanged
事件。例如:
zoomLevels.on(ZoomLevelChanged.class, event -> {
Host host = event.host();
ZoomLevel zoomLevel = event.level();
});
zoomLevels.on(ZoomLevelChanged::class.java) { event ->
val host = event.host()
val zoomLevel = event.level()
}
双指缩放
目前 JxBrowser 不支持 macOS 上通过捏合缩放触控板手势来进行缩放。