缩放

本指南介绍如何使用 Zoom API。

Fuzio 允许你对某个网页的内容或所有页面的内容进行缩放,在网页的缩放级别发生变化时获取通知,覆盖默认缩放级别等。

要使用适用于所有网页的全局缩放,请使用 ZoomLevels 类。您可以从 Profile 中获取此类的实例。例如:

Java
Kotlin
var zoomLevels = profile.zoomLevels();
val zoomLevels = profile.zoomLevels()

如果你使用 Engine.zoomLevels(),则会获取与默认 Profile 关联的 ZoomLevels 实例。

如果你想控制某个 Browser 实例中已加载网页的缩放,请使用 Zoom 类。

默认缩放级别 

所有网页的默认缩放级别为 100%。要修改默认缩放级别,请使用 ZoomLevels.defaultLevel(ZoomLevel) 方法。

下面的代码将所有网页的默认缩放级别设置为 150%:

Java
Kotlin
zoomLevels.defaultLevel(ZoomLevel.P_150);
zoomLevels.defaultLevel = ZoomLevel.P_150

缩放模式 

默认情况下,缩放作用于已加载网页的来源。如果同一 Profile 中的两个浏览器 都显示来自 https://example.com 的网页,在其中一个浏览器中放大会改变另 一个浏览器中的缩放级别。这是 PER_ORIGIN 模式。

如果你希望缩放只作用于某个特定浏览器,请切换到 PER_BROWSER 模式:

Java
Kotlin
browser.zoom().mode(ZoomMode.PER_BROWSER);
browser.zoom().mode(ZoomMode.PER_BROWSER)

在此模式下,即使其他浏览器显示来自相同来源的网页,更改一个浏览器中的缩 放级别也不会影响其他浏览器。

更改模式时会保留当前缩放级别。即使缩放已禁用,也可以更改模式。该模式会 在重新启用缩放时生效。

要切换回默认行为:

Java
Kotlin
browser.zoom().mode(ZoomMode.PER_ORIGIN);
browser.zoom().mode(ZoomMode.PER_ORIGIN)

控制缩放 

你可以使用 Zoom 类通过代码对 Browser 中加载的网页内容进行缩放,或者在支持触摸屏的环境中使用触控手势进行缩放。

要修改缩放级别,你需要先等待网页完全加载完成。

放大 

要对当前加载的网页进行放大,请使用以下方法:

Java
Kotlin
zoom.in();
zoom.`in`()

缩小 

要对当前加载的网页进行缩小,请使用以下方法:

Java
Kotlin
zoom.out();
zoom.out()

设置缩放级别 

下面的代码将当前加载的网页的缩放级别设置为 200%:

Java
Kotlin
zoom.level(ZoomLevel.P_200);
zoom.level = ZoomLevel.P_200

重置缩放 

要将缩放级别重置为默认值,请使用以下代码:

Java
Kotlin
zoom.reset();
zoom.reset()

禁用缩放 

Zoom.disable() 方法为 Browser 中加载的所有网页禁用缩放功能。该方法会禁用缩放功能,并将缩放级别重置为默认值。在此之后,无论是通过 Fuzio Zoom API 以编程方式尝试修改缩放级别,还是在触摸屏设备上使用触控手势进行缩放,都会被忽略。

例如:

Java
Kotlin
zoom.disable();
zoom.disable()

缩放事件 

如果你想在某个特定网页的缩放级别发生变化时接收通知,可以使用 ZoomLevelChanged 事件。例如:

Java
Kotlin
zoomLevels.on(ZoomLevelChanged.class, event -> {
    var host = event.host();
    var zoomLevel = event.level();
});
zoomLevels.subscribe<ZoomLevelChanged> { event ->
    val host = event.host()
    val zoomLevel = event.level()
}

捏合缩放 

目前,Fuzio 在 macOS 上不支持通过捏合缩放触控板手势进行缩放。

更多使用案例 

如果本指南中未涵盖你的使用场景,请参考以下示例:

微信咨询

即库客服

微信公众号二维码

技术客服

微信公众号二维码