Web Analytics
跳到主要内容

registerWithImage

使用自定义图像视图和背景颜色激活 screenguard。

iOS 上使用 SDWebImageAndroid 上使用 Glide,以实现更快的加载和缓存。

v2.0.0+ 要求

在使用此函数之前,必须先调用 initSettings()

参数

接受一个包含以下参数的 JS 对象:

名称是否必填类型默认值描述
source对象图像源。可以是一个网络 URI 或本地资源。支持:jpg, jpeg, png, gif, bmp, webp, svg。用法:source: { uri: 'https://...' }source: require('./image.png')
width数字图像宽度
height数字图像高度
defaultSource对象如果 source 加载失败的备用图像。用法:defaultSource: require('./fallback.png')
backgroundColor字符串'#000000'图像后的背景颜色
alignment数字4 (居中)图像位置 (0-8)。见 对齐值
top数字自定义顶部位置
left数字自定义左侧位置
bottom数字自定义底部位置
right数字自定义右侧位置
timeAfterResume数字1000⚠️ 在 v2.0.0 中已移除 - 请改用 initSettings()

v2.0.0 迁移: 在 v1.x 中,timeAfterResume 是直接传递给 registerWithImage() 的。从 v2.0.0 开始,请在 initSettings() 中设置。

alignment

位置
0左上
1上中
2右上
3左中
4居中 (默认)
5右中
6左下
7下中
8右下
注意
  • 当对齐值不在 0-8 范围内或是 NaN 时抛出异常
  • 不能将对齐值与位置参数 (top, left, bottom, right) 结合使用 - 将首先检查对齐值
  • 如果想使用自定义位置参数,请将 alignment 设置为 null

示例代码

使用网络图像:

import ScreenGuardModule from 'react-native-screenguard';

// 首先初始化(v2.0.0+ 中必需)
await ScreenGuardModule.initSettings({
displayScreenGuardOverlay: true,
timeAfterResume: 2000,
});

// 使用网络图像和备用图像
await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: {
uri: 'https://example.com/image.gif',
},
defaultSource: require('./images/fallback.png'),
backgroundColor: '#1a1a2e',
alignment: 4, // 居中
});

使用本地图像:

await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: require('./images/logo.png'),
backgroundColor: '#1a1a2e',
});

使用自定义位置:

await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: require('./images/logo.png'),
backgroundColor: '#1a1a2e',
alignment: null, // 必须为 null 才能使用自定义位置
top: 50,
left: 50,
});
Android 注意事项

在 Android 上,如果 initSettings() 中的 displayScreenguardOverlayAndroid 设置为 false,调用 registerWithImage() 将自动切换到 registerWithoutEffect()

演示

iOS

Android