关于SurfaceView控件设置透明
来源:互联网 发布:粤语电视直播软件 编辑:程序博客网 时间:2024/05/13 03:20
setZOrderOnTop(true); mHolder.setFormat(PixelFormat.TRANSPARENT);//设置背景透明
设置SurfaceView透明,但是这样会造成SurfaceView的组件会覆盖其他的组件。
此时SurfaceView组件是在最顶层的,无法通过调整层次问题来使得其他组件进行显示。
那么我们需要设置背景透明又需要显示其他控件的时候应该怎么办呢?
解决方案:
使用PopupWindow或者dialog的功能,PopupWindow或者dialog是显示在Activity之外的,测试过他们不会被SurfaceView覆盖,这种方案适用于点击实现组件的弹出,dialog的位置比较固定(屏幕正中间),而PopupWindow可以显示在屏幕所有的地方,较为灵活。
使用PopupWindow还需要注意的地方就是,不能在onCreate()等函数中显示PopupWindow,因为此时Activity的资源还未初始化完整,会导致应用的崩溃。
网上寻找到一种解决方案,这下面这条函数中调用则不会引起问题,但是需要注意每次该Activity出现在屏幕最前面时候都会调用这个函数,因此如果只想显示一次PopupWindow的话,需要设置一个flag进行控制。
@Override
public void onWindowFocusChanged(boolean hasFocus)
0 0
- 关于SurfaceView控件设置透明
- SurfaceView设置背景透明
- SurfaceView设置透明效果
- 设置SurfaceView背景透明
- surfaceview设置透明
- 设置SurfaceView 背景为透明
- SurfaceView背景设置为透明
- SurfaceView类透明背景设置
- SurfaceView中设置背景透明
- 如何设置SurfaceView背景透明
- 设置android SurfaceView背景透明
- android surfaceview 为什么设置置顶背景才能透明才能透明
- 设置控件透明属性:
- static 控件透明设置
- 设置控件背景透明
- 设置Cstatic控件背景透明
- MFC设置控件背景透明
- QtUI设计:设置控件透明
- 杭电1087Super Jumping! Jumping! Jumping!
- Codeforces Round #338 (Div. 2) D. Multipliers (求因子积)
- 杭电1950Bridging signals
- 监听开机and 网络状态的广播
- Codeforces Round #367 (Div. 2)
- 关于SurfaceView控件设置透明
- 杭电1051Wooden Sticks
- Codeforces Round #367 (Div. 2) C. Hard problem (dp)
- 生成学习算法.高斯判别分析(GDA).GDA与Logistic模型
- Android百度地图at com.baidu.mapapi.map.B.a()问题(空指针异常)
- Python练习100例-29
- LeetCode OJ-383. Ransom Note
- 上架app到App Store报错
- poj 3176 Cow Bowling