如何旋转 GamesClient 的弹出窗口

Posted

技术标签:

【中文标题】如何旋转 GamesClient 的弹出窗口【英文标题】:How to rotate GamesClient's popups 【发布时间】:2013-06-28 14:18:48 【问题描述】:

由于某些原因,我们有一个糟糕的想法,即让应用程序具有固定的横向方向并且一个“屏幕”是纵向的。由于我们使用的是 libgdx,因此我们只能旋转该屏幕的所有绘图部分,并且还可以旋转广告:

adView.setRotation(-90.0f);
adView.setTranslationX(adView.getWidth() / 2 - adView.getHeight() / 2);

我们现在正在集成 Google Play 游戏服务,但弹出窗口的显示方向不正确(即它们以横向显示)。而且我不知道如何旋转它们。

mGamesClient = new GamesClient.Builder(getContext(), this, this)
                .setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL)
                .setScopes(mScopes)
                .create();

我知道有一个可用的 setView 方法,但我不知道如何创建 GamesClient 可以使用的视图。

【问题讨论】:

【参考方案1】:

虽然不是“理想”,但您可以在运行时更改方向,当您转到纵向屏幕,然后在离开该屏幕时切换回横向。

为此,您可以在 MainActivity 中使用 Activity#setRequestedOrientation(int)(或任何您称为 androidApplication 子类的名称)。如果您遵循正常的 LibGDX 设置,您可能需要定义一个接口来调用它。

您应该会收到一个调整大小事件,您可以在其中设置新方向(您将不再旋转您的渲染或广告)。

或者,您可以将这一屏幕重新设计为与应用其他部分一样的横向屏幕。

【讨论】:

改变方向显然是我的第一个想法,但我们没有设法做到……我有点惊讶,因为这听起来很容易,但今晚我会再看看这种方法。谢谢。 这似乎行得通,我需要展示一个成就来确认。但至少我现在可以删除所有丑陋的 hack。

以上是关于如何旋转 GamesClient 的弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android studio 的弹出窗口内添加滚动的 listView?

window.open 里的resizable=no参数在火狐里无效!有啥方法在火狐里的弹出窗不能拖动大小吗?

解决selenium自动化上传图片或文件出现windows窗口问题

DuiVision开发教程(18)-弹出窗

修复Extjs5.1.4的弹出窗(window)BUG

iPhone 设备轮换上的弹出窗口更改