GLSurfaceView的大小和位置

Grz*_*orz 3 android opengl-es opengl-es-2.0

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

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

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

Pah*_*aha 5

我想把它放在屏幕的中央

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

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

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

float mmInPx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 20, 
                getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)

要设置GLSurfaceView的大小,请使用LayoutParams:

ViewGroup.LayoutParams layoutParams=glSurfaceView.getLayoutParams();
layoutParams.width=mmInPx;
layoutParams.height=mmInPx;
glSurfaceView.setLayoutParams(layoutParams);
Run Code Online (Sandbox Code Playgroud)