Java kindlefire和GlSurfaceView.getHeight()

Java kindlefire和GlSurfaceView.getHeight(),java,android,kindle,Java,Android,Kindle,我正在为KindleFire开发一个游戏,这个游戏总是隐藏着工具栏运行 只有当用户进入暂停菜单时,该栏才会出现,我只希望该栏在游戏中出现 但是当显示栏GlSurfaceView.getHeight()从600变为580时,我的游戏会调整大小,但我不希望出现这种行为 我只想在游戏中显示条,我的游戏不会移动,我已经用GlSurfaceView.setMinimumHeight(600)试过了 但kindle完全忽略了这一点 我的游戏总是这样运行的: 当我激活该栏时,会发生以下情况: 与此相反:

我正在为KindleFire开发一个游戏,这个游戏总是隐藏着工具栏运行

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

但是当显示栏GlSurfaceView.getHeight()从600变为580时,我的游戏会调整大小,但我不希望出现这种行为

我只想在游戏中显示条,我的游戏不会移动,我已经用GlSurfaceView.setMinimumHeight(600)试过了

但kindle完全忽略了这一点

我的游戏总是这样运行的:

当我激活该栏时,会发生以下情况:

与此相反:

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

谢谢

要创建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)

    请注意,根据我的经验,在代码运行时使用KindleFire时,在某些视图中会出现一些奇怪的问题,因此即使它可以工作,也请进行一些广泛的测试

  • 尝试将清单设置为具有一些configChanges标志,但我没有测试它,我也没有kindle fire

  • 可能的解决办法:

  • 在活动的onCreate()方法上尝试以下操作:

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

    请注意,根据我的经验,在代码运行时使用KindleFire时,在某些视图中会出现一些奇怪的问题,因此即使它可以工作,也请进行一些广泛的测试

  • 尝试将清单设置为具有一些configChanges标志,但我没有测试它,我也没有kindle fire


  • 发布包含GLSurfaceView声明的布局xml,我可以帮你。你是说androidmanifest.xml吗?,因为我用C++中的OpenLE绘制了JNI调用,在哪里/如何创建GLASTURVIEW?发布包含GLSOLVIEWEW的声明的布局XML,我可以帮助您。因为在C++中用OpenL来绘制JNI CalsWH/您如何创建GLASTURE视图?这是活动配置更改的标志:Android:配置更改=“MCC MNC本地区域”触摸屏键盘键盘隐藏导航定位屏幕布局FunStultUuimod这是活动配置更改的标志:android:configChanges=“mcc | mnc | locale |触摸屏|键盘|键盘隐藏|导航|方向|屏幕布局| fontScale | uiMode”