方法1:
这是我的 ts代码
let makeImage = ViewModule.getViewById("makeImage");
makeImage.android.setDrawingCacheEnabled(true);
无法使用“ getViewById”获取视图。
查看代码:
<StackLayout id="makeImage">
<Button text="Hi"></Button>
</StackLayout>
方法2:
const view = application.android.foregroundActivity.getWindow().getDecorView().getRootView();
view.setDrawingCacheEnabled(true);
const bmp = android.graphics.Bitmap.createBitmap(view.getDrawingCache());
let x = imageSourceModule.fromNativeSource(bmp);
imageData = x.toBase64String("png");
console.log(imageData);
Result: Able to get the screenshot of whole page of parent. Not a mentioned section.
答案 0 :(得分:0)
您可以尝试使用nativescript-screenshot插件,该插件在内部对于Android使用相同的方法,而在iOS中也具有相同的方法。
始终使用loaded
事件访问本机视图(.andorid
/ .ios
),以确保已创建该视图。
HTML
<StackLayout (loaded)="onLoaded($event)">
<Button text="Hi"></Button>
</StackLayout>
TS
onLoaded(event) {
const imageSource = plugin.getImage(args.object);
}