如何让 Expo.takeSnapshotAsync 在 Android 上工作
How to make Expo.takeSnapshotAsync work on Android
我正在尝试弄清楚如何在 https://docs.expo.io/versions/latest/sdk/take-snapshot-async.html
中定义视图参数
函数:
screenShot = async () => {
let result = await takeSnapshotAsync(this.pageView, {format: 'jpg', result: 'file', quality: 1.0});
const file = {
uri: result,
name: this.state.shiftIDclean+"-clockIn.jpg",
type: "image/jpeg"
}
}
查看:
render() {
return (
<View ref={view => { this.pageView = view; }}>
<Text>TEST CONTENT GOES HERE</Tex>
</View>
);
}
这在 iOS 模拟器上工作正常,但在 Andriod 上,我收到一个红屏错误:尝试解析带有不存在的标签 488 的视图。
我试图找到一个工作示例,但找不到。我认为问题是我没有定义要正确截屏的视图,但我似乎无法弄清楚。
我不知道为什么,但将视图更改为这个有效:
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
由于 collapsable={false}
.
它工作正常
将 collapsable
-属性 设置为 false
以禁用此优化并确保此视图存在于本机视图层次结构中。
我正在尝试弄清楚如何在 https://docs.expo.io/versions/latest/sdk/take-snapshot-async.html
中定义视图参数函数:
screenShot = async () => {
let result = await takeSnapshotAsync(this.pageView, {format: 'jpg', result: 'file', quality: 1.0});
const file = {
uri: result,
name: this.state.shiftIDclean+"-clockIn.jpg",
type: "image/jpeg"
}
}
查看:
render() {
return (
<View ref={view => { this.pageView = view; }}>
<Text>TEST CONTENT GOES HERE</Tex>
</View>
);
}
这在 iOS 模拟器上工作正常,但在 Andriod 上,我收到一个红屏错误:尝试解析带有不存在的标签 488 的视图。
我试图找到一个工作示例,但找不到。我认为问题是我没有定义要正确截屏的视图,但我似乎无法弄清楚。
我不知道为什么,但将视图更改为这个有效:
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
<View
collapsable={false}
ref={view => {
this.pageView = view;
}}>
由于 collapsable={false}
.
它工作正常
将 collapsable
-属性 设置为 false
以禁用此优化并确保此视图存在于本机视图层次结构中。