2013-12-09 64 views
2

其实我有我正在使用GLSurfaceView项目。此时此组件作为整个屏幕的主控。在这种配置中,我能够正确处理绘图功能。大小和位置的GLSurfaceView

在下一步我想更改GLSurfaceView的大小和位置。我想把它放在屏幕的中心,并将宽度和高度设置为精确的物理尺寸,例如20mm x 20mm。

你有什么建议或提示,我应该如何开始向GLSurfaceView引入这种改变?

回答

5

我想将它放在屏幕

您需要重力设置父元素像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); 
+0

帕哈,非常感谢! – Grzegorz

+0

重新调整glSurfaceView大小后,捕捉的图像不会根据glSurfaceView的新大小重新调整大小。如何根据glSurfaceView的大小保存图片? –