【发布时间】:2012-02-26 23:27:29
【问题描述】:
我有一台分辨率为 800x480 的设备。当我创建 GLSurfaceView 时,我得到一个 533x320 的 onSurfaceChanged 调用(显然应用了 1.5 HDPI 修改器)并且表面被放大了。所以当我画出 1 个像素的粗线时,看起来真的很糟糕,而且我无法进行像素完美的渲染。
我想要的是原始分辨率表面 (800x480)。
在 Activity 的onCreate 中以这种方式创建视图(就像在 NDK OpenGL 示例中一样):
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
view = new MyGLSurfaceView(this);
setContentView(view);
我不使用任何布局等。
【问题讨论】:
-
你能发布一些代码,比如这个 GLSurface 视图的布局吗?我无法凭空得出答案。
-
好的,我会把它添加到问题中。
标签: android opengl-es android-ndk scaling hdpi