6

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

4

3 回答 3

7

由于我(尚未)被允许发表评论,因此我将给出答案。基本上,LiamJPeters 所说的一切都会有所帮助,除非您最近使用较新的 libgdx nightlies 之一从头开始设置项目,然后还会有一个在manifest中引用的“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>
于 2014-04-21T18:36:53.667 回答
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 页面以添加 admob 广告。除了添加广告之外,请按照所有步骤操作!

下面是用于设置非全屏 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”轻松添加所需的所有布局参数。希望这可以帮助。请将问题标记为已回答。

于 2013-04-13T11:49:33.767 回答
1

我在这里遇到了困惑,无法在 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 为假(感谢 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 只显示状态栏,没有标题。

于 2016-11-19T16:11:31.127 回答