我正在开发一款用于点燃火的游戏,该游戏始终在隐藏栏的情况下运行。

仅当用户进入暂停菜单时,该栏才应出现,我只希望该栏出现在游戏中。

但是似乎当栏显示GlSurfaceView.getHeight()从600更改为580,并且我的游戏调整了大小,但我不希望这种行为时,

我只希望栏显示在游戏上并且我的游戏不动,我已经尝试过GlSurfaceView.setMinimumHeight(600);

但是点燃只是忽略了这一点。

这就是我的游戏始终运行的方式:

当我激活酒吧时,会发生这种情况:



代替这个:



你知道避免这种情况的方法吗?

谢谢!

要创建GlSurfaceView,请执行以下操作:

OnCreate() {

s_activity.m_view = new GameGLSurfaceView(s_activity.getApplication(), true, pixelSize,depthSize, stencilSize);

}

public GameGLSurfaceView(Context context, boolean translucent,int pixelSize, int depth, int stencil)
{
super(context);
mRenderer = new GameRenderer(context, this);
setRenderer(mRenderer);

}


隐藏和显示栏我使用此功能

private static final int AMAZON_FLAG_NOSOFTKEYS = 0x80000000;
private static final int FLAG_SUPER_FULLSCREEN = AMAZON_FLAG_NOSOFTKEYS | WindowManager.LayoutParams.FLAG_FULLSCREEN;

public static void toggleKindleBar(final int toDo)
{
    if( s_activity != null)
        s_activity.runOnUiThread(new Runnable()
        {
            public void run()
            {
                s_activity.getWindow().clearFlags( toDo!=1? WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN : FLAG_SUPER_FULLSCREEN);
                s_activity.getWindow().addFlags( toDo!=1? FLAG_SUPER_FULLSCREEN:WindowManager.LayoutParams.FLAG_FULLSCREEN);

            }
        });
}

最佳答案

可能的解决方案:


在活动的onCreate()方法上尝试一下:

getWindow()。setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

一定要注意,根据我的经验,在运行此代码时,kind fire在使用某些视图时会出现一些奇怪的问题,因此即使它起作用,也请进行一些广泛的测试。
尝试将清单设置为configChanges的一些标志,但是我没有对其进行测试,也不再有kindle fire了。

关于java - Kindle Fire和GlSurfaceView.getHeight(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10758028/

10-11 21:38