android对第三方的SurfaceView设置形变无效

android如何对第三方的SurfaceView设置形变效果。我目前项目中用到了一个第三方的控件,它内部是用SurfaceView来实现的,我想对这个控件设置形变效果,比如说是宽度变为原先的一半,设置代码如下:

surfaceView.setScaleY(0.5);

但是结果虽然整个控件的大小变化了,但是里面所绘制的内容并没有变化,依旧是保持比例的

阅读 7.8k
3 个回答

可以试下设置surfaceView状态监听

    surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
            @Override
            public void surfaceCreated(SurfaceHolder holder) {

            }

            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
                //这里设置显示内容尺寸
                holder.setFixedSize(width, height);
            }

            @Override
            public void surfaceDestroyed(SurfaceHolder holder) {

            }
        });
        
        surfaceView.setScaleY(0.5);

Segmentfault 出故障了?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题