我正在尝试在我的游戏中禁用 Android 10+ 手势导航向后滑动(出于非常有效的原因)。我需要禁用整个屏幕的滑动手势。
谷歌的文档对于如何执行此操作非常模糊。https://developer.android.com/training/gestures/gesturenav#games
这是我尝试过的。如果我直接在 onCreate 中执行 getWindow().setSystemGestureExclusionRects(exclusionRects) 会导致启动时立即崩溃。我得到的错误是:java.lang.IllegalStateException:未添加视图。
我的第二次尝试是将 addOnLayoutChangeListener 内的系统手势排除矩形设置为我的根布局中包含的(唯一)视图,以便手势排除内容仅在视图正常运行时运行。对于此示例,假设initializeForView 是一个返回有效视图的函数。除了手势不被阻止之外,一切正常。
由于某种原因,我尝试的这段代码仅阻止屏幕下半部分的向后滑动手势:(
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
game = new Lockjaw(this);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
RelativeLayout layout = new RelativeLayout(this);
layout.setFitsSystemWindows(true);
View view = initializeForView(game, config);
layout.addView(view);
setContentView(layout);
view.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
int oldTop, int oldRight, int oldBottom) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
List<Rect> exclusionRects = new ArrayList(); …Run Code Online (Sandbox Code Playgroud) 我最近决定使用非折旧技术重新编写一些游戏的OpenGL代码.我没有用glBegin()和glEnd()绘制图元,而是试图坚持使用顶点数组对象等.我正在尝试从http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/编译代码.我以前做了很多连接,但由于某种原因,这不起作用.我正在尝试将GLEW链接到我的项目,CodeBlocks作为我的IDE,MinGW GCC作为我的编译器.我该如何解决这个问题?是的,我确实链接了"glew32.lib"