Android-TextureView+;SurfaceHolder,回拨

Android-TextureView+;SurfaceHolder,回拨,android,surfaceview,textureview,Android,Surfaceview,Textureview,我想知道是否可以将SurfaceHolder.Callback(当然还有它的回调)与TextureView结合使用 我的意思是如下所示: public类MainActivity扩展AppCompatActivity实现SurfaceHolder.Callback{ 私有纹理视图mTextureView; @凌驾 已创建的公共空隙表面(表面层表面层){ } @凌驾 公共空心表面更改(表面文件夹表面文件夹,整型格式,整型宽度,整型高度){ } @凌驾 公共空间表面已覆盖(表面层表面层){ } }

我想知道是否可以将SurfaceHolder.Callback(当然还有它的回调)与TextureView结合使用

我的意思是如下所示:

public类MainActivity扩展AppCompatActivity实现SurfaceHolder.Callback{
私有纹理视图mTextureView;
@凌驾
已创建的公共空隙表面(表面层表面层){
}
@凌驾
公共空心表面更改(表面文件夹表面文件夹,整型格式,整型宽度,整型高度){
}
@凌驾
公共空间表面已覆盖(表面层表面层){
}
}

这样行吗?我问这个问题的原因是,每当我看到SurfaceHolder.Callback时,他们都会使用SurfaceView。

不,你不能。对于TextureView,应使用SurfaceTextureRelistener。在许多意义上,这些回调类似于SurfaceHolder回调

例如,代替

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    mPreviewSurface = holder.getSurface();
}
你可以写

@Override
public void onSurfaceTextureAvailable(SurfaceTexture texture, int width, int height) {
    mPreviewSurface = new Surface(texture);
}

看。多亏了。

不,你不能。对于TextureView,应使用SurfaceTextureRelistener。在许多意义上,这些回调类似于SurfaceHolder回调

例如,代替

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    mPreviewSurface = holder.getSurface();
}
你可以写

@Override
public void onSurfaceTextureAvailable(SurfaceTexture texture, int width, int height) {
    mPreviewSurface = new Surface(texture);
}
看。多亏了