2
其实我有我正在使用GLSurfaceView项目。此时此组件作为整个屏幕的主控。在这种配置中,我能够正确处理绘图功能。大小和位置的GLSurfaceView
在下一步我想更改GLSurfaceView的大小和位置。我想把它放在屏幕的中心,并将宽度和高度设置为精确的物理尺寸,例如20mm x 20mm。
你有什么建议或提示,我应该如何开始向GLSurfaceView引入这种改变?
其实我有我正在使用GLSurfaceView项目。此时此组件作为整个屏幕的主控。在这种配置中,我能够正确处理绘图功能。大小和位置的GLSurfaceView
在下一步我想更改GLSurfaceView的大小和位置。我想把它放在屏幕的中心,并将宽度和高度设置为精确的物理尺寸,例如20mm x 20mm。
你有什么建议或提示,我应该如何开始向GLSurfaceView引入这种改变?
我想将它放在屏幕
您需要重力设置父元素像Gravity.CENTER
的中心。例如,如果它是LinearLayout
,则请拨打linearLayout.setGravity(Gravity.CENTER)
。
设置宽和高为精确phicical dimmension例如20毫米X 20毫米
从毫米至像素计算大小使用:
float mmInPx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20,
getResources().getDisplayMetrics());
而为GLSurfaceView集大小使用的LayoutParams :
ViewGroup.LayoutParams layoutParams=glSurfaceView.getLayoutParams();
layoutParams.width=mmInPx;
layoutParams.height=mmInPx;
glSurfaceView.setLayoutParams(layoutParams);
帕哈,非常感谢! – Grzegorz
重新调整glSurfaceView大小后,捕捉的图像不会根据glSurfaceView的新大小重新调整大小。如何根据glSurfaceView的大小保存图片? –