android 更新surface 宽高
时间: 2023-07-28 12:53:12 浏览: 127
深入理解Surface系统
要更新Surface的宽高,你可以在SurfaceView的SurfaceHolder.Callback接口中的surfaceChanged()方法中实现。在这个方法中,你可以获取到Surface的最新宽高,然后根据你的需求进行处理。
下面是一个示例代码:
```
public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder holder;
public MySurfaceView(Context context) {
super(context);
holder = getHolder();
holder.addCallback(this);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// 更新Surface的宽高
// TODO: 根据你的需求进行处理
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// Surface创建时的处理
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// Surface销毁时的处理
}
}
```
在surfaceChanged()方法中,你可以通过width和height获取到Surface的最新宽高。你可以根据你的需求进行处理,比如重新布局、修改画布大小等。
阅读全文