请问一下正常流程执行surfaceView,surfaceCreated可以正常调用,SurfaceView预览界面写在XML文件中;但是试了下面两种方法surfaceCreated不会被调用,网上查了查,也没找到相关资料和说法,请问哪个大哥知道原理的?
方法一,使用handler延时加载
mHandler.postDelayed(new Thread() {
public void run() {
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
},10);
方法二,点击按钮加载
public void onClick(View view){
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
// 后来尝试发现使用动态加载SurfaceView可以解决这个问题,就是new一个SurfaceView对象,然后addView(mSurfaceView),但是还是不明白为什么SurfaceView在XML布局中。上述两种方法就不可行?哪位了解的大哥能不能讲一下原理?
方法一,使用handler延时加载
mHandler.postDelayed(new Thread() {
public void run() {
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
},10);
方法二,点击按钮加载
public void onClick(View view){
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
// 后来尝试发现使用动态加载SurfaceView可以解决这个问题,就是new一个SurfaceView对象,然后addView(mSurfaceView),但是还是不明白为什么SurfaceView在XML布局中。上述两种方法就不可行?哪位了解的大哥能不能讲一下原理?
解决方案 »
- 求教android中 分享到renren和tencent微博的问题
- 退出Activity问题
- 求助:Android层与linux层的通信
- 发UDP包出现 request time failed的情况
- android手机通话时播放背景音乐问题求解
- 虽然每次都沉了,但我还是厚颜无耻的来提问了!!!
- android 4.0以上版本系统时间选择器样式问题
- Android app问题
- 二次开发界面调整
- 学习js前端还是java后端对Android开发帮助大
- 把socket放在service里面,只能给服务器发送一次数据
- 到底怎么样才能root android studio2.3 自带的安卓模拟器,求大神指点迷津
if (visible && mSurface.isValid()) {
if (!mSurfaceCreated && (surfaceChanged || visibleChanged)) {
mSurfaceCreated = true;
mIsCreating = true;
if (DEBUG) Log.i(TAG, "visibleChanged -- surfaceCreated");
if (callbacks == null) {
callbacks = getSurfaceCallbacks();
}
for (SurfaceHolder.Callback c : callbacks) {
c.surfaceCreated(mSurfaceHolder);
}
}
进不去设置不callback无法执行