最近几天被一个问题困扰了许久,究其原因,竟简单到不能再简单。
接下来做一个剪短的文字描述:
经过我多番测试得出:
Android在渲染Surfaceview的地方,和该SurfaceView有重叠的视图,如果用 View.INVISIBIEL 是会出现设置 View.VISIBILB后仍无法正常显示的情况。
具体原因可能是因为,在渲染层之上,由 View.INVISIBILE 恢复到 View.VISIBILE 没有重新计算视图。(同事给出的推断)
我个人觉得,这是Android本身存在的兼容问题,因为 View.INVISIBLE 在于其他常用视图覆盖显示时,不存在这样的情况。
结论:以后渲染SurfcaeView的时候要小心,与其重合的VIew,设置不可见,一定要用View.GONE;