@nstudio/nativescript-blur
使用 iOS 模糊效果对具有底层 iOS 视图的任何内容进行模糊,并在 Android 上使用 BlurKit 模糊图像。
npm i --save @nstudio/nativescript-blur

@nstudio/nativescript-blur

ns plugin add @nstudio/nativescript-blur

iOS

在 iOS 上,您几乎可以对任何内容进行模糊,但最酷的事情是模糊一个覆盖您想要模糊内容的透明视图。这样,该视图之后的所有内容都会被模糊。

Android

如果您将 `true` 传递给构造函数 (`let blur = new Blur(true)`), 在 iOS 上不会有任何区别,但在 Android 上,您传递给 NativeScript 视图的 backgroundColor 将变为浅透明或深透明。因此,如果您使用此功能为模态框等元素创建“遮光”效果,Android 现在将以这种方式工作。

用法


import { Blur } from '@nstudio/nativescript-blur';
let blur = new Blur(true); // pass true to enable limited usage on android (for now);

// Pick Date
makeKittyBlurry() {
let kittyView = page.getViewById('kitty');
blur.on(kittyView, 'kitty', 'light').then(() => {
console.log('Kitty has become blurry.');
}).catch(e => {
console.dir(e);
});
}

clearUpKitty() {
blur.off('kitty').then(() => {
console.log('Kitty has cleared up.')
});
}

API

on(view, keyTitle, theme?, duration?): Promise;

要启用模糊效果,您必须传递一个视图和一个键名。键名可以是任何内容,您使用它来关闭模糊效果。这样,您可以在不同时间对不同的内容进行模糊。主题可以是 lightdark,您还可以传递自定义持续时间。持续时间以秒为单位,例如,如果您传递 .2,动画将持续 .2 秒。视图需要是一个具有 ios 属性的 NativeScript 视图,并且该属性必须支持 addSubview。以下是您可以传递的 NativeScript UI 元素的示例

StackLayout
GridLayout
AbsoluteLayout
DockLayout
ScrollView
Image
Label

如果传递的元素没有 ios 属性或 addSubview 不存在于 ios 属性上,它将返回一个错误。

off(keyTitle, duration?): Promise;

关闭动画关闭模糊效果。传递您创建它时使用的键。如果键不存在(视图未模糊),它将返回一个错误。

许可证

Apache 许可证第 2 版