libgdx游戏中的通知栏

时间:2013-04-12 17:24:47

标签: android libgdx

我想使用Libgdx引擎创建游戏。它是默认情况下创建的 FULLSCREEN 游戏,没有通知栏 我可以使用通知栏创建游戏吗?

3 个答案:

答案 0 :(得分:6)

在Android启动器中:

public class MainActivity extends AndroidApplication {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.hideStatusBar = false;
        initialize(new MainClass(), cfg);
    }
}

这里的重要一行是 cfg.hideStatusBar = false;

希望有所帮助

修改

好的,所以我对这个主题进行了一些研究,结果证明这很容易。我看了libgdx wiki page for adding admob ads。按照除添加广告之外的所有步骤操作!

以下是用于设置非全屏Android应用的修改代码:

public class MainActivity extends AndroidApplication {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RelativeLayout layout = new RelativeLayout(this);
        layout.addView(initializeForView(new MainClass(), false));
        setContentView(layout);
    }
}

您可以通过谷歌“RelativeLayout layoutParams”轻松添加您想要的所有布局参数。希望这可以帮助。请将问题标记为已回答。

答案 1 :(得分:6)

由于我(还)未被允许发表评论,我将作出回答。基本上LiamJPeters所说的一切都有帮助,除了你最近从头开始用一个较新的libgdx nightlies设置项目,然后还会有一个" res / values / styles.xml" 清单中引用。

我必须在那里更改两个设置(除了LiamJPeters编写的所有内容),以使其最终显示通知栏和窗口标题:

<resources>
    <style name="GdxTheme" parent="android:Theme">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
        <item name="android:windowNoTitle">false</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowFullscreen">false</item>
    </style>
</resources>

答案 2 :(得分:0)

我在这里遇到了困惑,无法让它在Android Lollipop上运行一段时间。我必须实际合并答案中提供的所有代码,以使我的应用程序显示状态栏。

所以我的最终工作代码如下:

Java部分 - 结合相对布局和hideStatusBar配置(感谢LiamJPeters)

protected void onCreate (Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();

    config.hideStatusBar = false;

    RelativeLayout layout = new RelativeLayout(this);
    layout.addView(initializeForView(new MyAndroidApp(), config));
    setContentView(layout);
}

和styles.xml部分 - windowFullscreen为false(感谢Bernrd K。)

<resources>
    <style name="GdxTheme" parent="android:Theme">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowFullscreen">false</item>
    </style>
</resources>

注意:windowNoTitle与状态栏本身无关。取决于你需要的,但上面的xml只显示状态栏,没有标题。