GLSurfaceView的大小和位置

时间:2013-12-09 09:21:20

标签: android opengl-es opengl-es-2.0

实际上我有一个项目,我正在使用GLSurfaceView。此时,该组件作为主控制器放置在整个屏幕上。在这种配置中,我能够正确处理绘图功能。

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

您是否有任何建议或提示我应该如何开始向GLSurfaceView引入此类更改?

1 个答案:

答案 0 :(得分:5)

  

我想把它放在屏幕的中心

您需要将重力设置为父元素,例如Gravity.CENTER。例如,如果是LinearLayout,则调用linearLayout.setGravity(Gravity.CENTER)

  

将宽度和高度设置为精确的音高,例如20mm x   20毫米

要计算从mm到像素的大小,请使用:

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);