SurfaceView中如何获取SurfaceHolder
来源:互联网 发布:模拟人生4社交网络 编辑:程序博客网 时间:2024/06/03 18:15
无论是Camera预览, 还是MediaPlayer播放使用SurfaceView的时候都需要设置SurfaceHolder, 下面是获取SurfaceHolder的2种方式
xml中自定义SurfaceView
如果直接在xml中使用SurfaceView, 在findViewbyId之后就已经没机会获取SurfaceHolder了,
所以需要重写SurfaceView并实现SurfaceHolder.Callback, 这样在构造函数中添加回掉
holder = getHolder(); holder.addCallback(this);
然后就能在SurfaceHolder.Callback的surfaceCreated(SurfaceHolder holder)方法中收到SurfaceHolder
通过addView添加SurfaceView
首先new一个SurfaceView, 然后通过surfaceView.getHolder().addCallback(callback) 获取
surfaceHolder, callback:
SurfaceHolder.Callback callback = new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder surfaceHolder) { // 获取到surfaceHolder } @Override public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) { } @Override public void surfaceDestroyed(SurfaceHolder surfaceHolder) { } };
当该SurfaceView被add到父View之后就会触发surfaceCreated方法, 从而获取到SurfaceHolder
阅读全文
0 0
- SurfaceView中如何获取SurfaceHolder
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder
- android中SurfaceView SurfaceHolder SurfaceHolder.Callback 关系 理解
- SurfaceView中Callback接口和SurfaceHolder 类
- Android中SurfaceView与SurfaceHolder对象
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack用法!
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack知识
- SurfaceView、SurfaceHolder及SurfaceHolder.Callback
- surfaceview 和surfaceholder
- 剖析SurfaceView ,Callback,SurfaceHolder
- surfaceview 和surfaceholder
- surfaceview 和surfaceholder
- Android-SurfaceView与SurfaceHolder
- SurfaceView之SurfaceHolder
- MySQL5.7版本官方yum方式
- Blog 签到
- Python错误
- Spring详解(七)------事务管理
- K-近邻算法详细介绍
- SurfaceView中如何获取SurfaceHolder
- Focal Loss 论文笔记
- java第五天/10.3
- 【腾讯Bugly干货分享】iOS App 签名的原理
- Python练习第1天
- 局域网 —— VLAN
- 内部模块化的命令行菜单小程序
- C语言程序设计第三章习题三
- Spring创建对象时的执行顺序