我们的一个player项目需要做换台动画效果(切换频道的时候,当前频道从显示区移出,下一个频道内容移进来)。我的做法是用ViewFlipper来切换两个SurfaceView,但是实际看到的效果并不如我所想,实际切换的时候当前SurfaceView会黑屏,由于下一个频道切换需要时间,所以下一个SurfaceView也是黑屏进来,两个加在一起就看不出动画效果。网上看到好多朋友说设置SurfaceView的setZOrderOnTop可以解决,但是我试了还是没用。无奈了,,,,这里想求教各位同仁,能否给小弟指点一二跪谢!!!AndroidSurfaceView ViewFlipper视频 动画

解决方案 »

  1.   

    动画的话,没必要用SurfaceView.直接用animation配合overridePendingTransition
      

  2.   


    重点不是动画怎么实现,而是surfaceview黑屏。
      

  3.   

    SurfaceView不支持动画,不用想了。
    如果是在API 16以上,可以使用SurfaceTexture,用来替代SurfacceView,支持动画
      

  4.   

    要知道 : SurfaceView继承自View,View负责在主线程中更新动画,而SurfaceView是在一个新线程中更新动画。而ViewFlipper是UI线程的动画, 所以不可行要么你ViewFlipper里别用SurfaceView,
    要么动画效果就用SurfaceView实现, 别用ViewFlipper