700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android官网自定义相机 android native.js camera自定义相机

android官网自定义相机 android native.js camera自定义相机

时间:2022-03-04 16:30:00

相关推荐

android官网自定义相机 android native.js camera自定义相机

//js代码

//用代码渲染页面

let activity = plus.android.runtimeMainActivity();

let SurfaceView = plus.android.importClass("android.view.SurfaceView");

let mSurfaceView = new SurfaceView(activity);

let RelativeLayout = plus.android.importClass("android.widget.RelativeLayout");

let layout = new RelativeLayout(activity);

layout.addView(mSurfaceView);

activity.setContentView(layout);

let mSurfaceViewHolder = mSurfaceView.getHolder(); //获取了mSurfaceViewHolder

//实现 callBack

let surfaceHolderCallback = plus.android.implements("android.view.SurfaceHolder$Callback", {

"surfaceCreated":function(holder){

plus.android.importClass(holder);

initCameraAndPreview(mSurfaceView, mSurfaceViewHolder);

},

"surfaceCreated":function(holder){

plus.android.importClass(holder);

},

"surfaceChanged":function(holder, format, width, height){

plus.android.importClass(holder);

}

});

mSurfaceViewHolder.addCallback(surfaceHolderCallback); //但是这里报 addCallback is not a function

//原生java代码

android.view.SurfaceView 类中的获取mSurfaceViewHolder,原生代码中的 mSurfaceHolder 有 addCallback 方法,但是 mSurfaceHolder 是private

public SurfaceHolder getHolder() {

return mSurfaceHolder;

}

private final SurfaceHolder mSurfaceHolder = new SurfaceHolder() {

private static final String LOG_TAG = "SurfaceHolder";

@Override

public boolean isCreating() {

return mIsCreating;

}

@Override

public void addCallback(Callback callback) {

synchronized (mCallbacks) {

// This is a linear search, but in practice we'll

// have only a couple callbacks, so it doesn't matter.

if (mCallbacks.contains(callback) == false) {

mCallbacks.add(callback);

}

}

}

.......

}

问题是:为什么原生java代码中的getHolder()方法有返回mSurfaceHolder,而且 mSurfaceHolder 中有 addCallback方法,但是js代码中 mSurfaceViewHolder.addCallback(surfaceHolderCallback); 会报 addCallback is not a function ?

是不是 mSurfaceViewHolder 是 private,然后 native.js 实例化不了private属性?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。