NativeScript的智能感知(Android) - 没有显示一些方法?

时间:2017-12-07 10:38:57

标签: android angular webstorm nativescript angular2-nativescript

使用WebStorm,我有一个Progress元素:

<Progress  id="prgressid" ></Progress>

我想增加它的高度。可以通过scaleY=".."属性或via native code

来完成
mProgressBar.setScaleY(3);

我决定通过代码来做,但是intellisene告诉我:

enter image description here

Another try without .android.

它没有setScaleY方法 (如果我尝试使用setScale方法 - 它在运行时失败 - 但如果我尝试setScaleY - 它确实有效。

问题:

为什么显示的方法不正确?我应该看到什么才能看到所有可访问的方法?

tns info

enter image description here

Sdk manager

1 个答案:

答案 0 :(得分:3)

编辑:初始代码段有错误 - 事实上,您可以访问公开方法setScaleYsetScaleX,但您需要输入(通过tns-platform-declarations)并且我们也会需要将本机组件转换为android.widget.ProgressBar(否则它将是类型any

例如:

<Progress value="50" loaded="onPbLoaded" />

TypeScript

export function onPbLoaded(args) {
    let pb = <Progress>args.object;

    if(isAndroid) {
        let nativeProgress = <android.widget.ProgressBar>pb.android; // android.widget.ProgressBar{d26eea9 V.ED..... ......ID 0,0-0,0}
        console.log("nativeProgress Android: " + nativeProgress); 

        nativeProgress.setScaleX(3);
        nativeProgress.setScaleY(5);
    }
}