ButtonClicker示例。景观禁用

时间:2014-08-30 04:15:17

标签: google-play-games

我用SurfaceView修改了GAMEPLAY SCREEN(我根据LunarLander示例为SurfaceView创建了一个类,当我导航到GAMEPLAY SCREEN时,我看到了黑色画布):

            <?xml version="1.0" encoding="utf-8"?>
            <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                <!-- INVITATION POPUP -->
                <LinearLayout android:id="@+id/invitation_popup" style="@style/InvPopup">
                    <TextView android:id="@+id/incoming_invitation_text" style="@style/InvPopupText" />
                    <Button android:id="@+id/button_accept_popup_invitation"
                        style="@style/InvPopupButton"
                        android:text="@string/accept_popup_invite" />
                </LinearLayout>

                <!-- "PLEASE WAIT" SCREEN -->
                <LinearLayout android:id="@+id/screen_wait" style="@style/LLScreen">
                    <TextView style="@style/Blurb" android:text="@string/please_wait" />
                </LinearLayout>

                <!-- GAMEPLAY SCREEN -->
                <LinearLayout android:id="@+id/screen_game" style="@style/LLScreen">
                    <com.ecsbackgammon.BackgammonBoardView 
                        android:id="@+id/bbview"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"/>
                </LinearLayout>
            </FrameLayout>

我注意到ButtonClicker示例中有一些代码阻止活动在物理上转动时进入横向模式。所以似乎陀螺仪是 被忽略了。我有一种感觉,这与Activity的类派生自BaseGameActivity这一事实有关,尽管我还不确定该寻找什么可能会阻止横向模式的发生。 因此,Activity在ButtonClicker示例中派生,如:

            public class MainActivity extends BaseGameActivity
                    implements View.OnClickListener, RealTimeMessageReceivedListener,
                    RoomStatusUpdateListener, RoomUpdateListener, OnInvitationReceivedListener {

因此,在应用程序中,所有LinearLayouts都被隐藏,并且当用户导航活动时,一次只能看到一个。所以我的问题是关于景观模式。有没有办法只启用横向模式 当GAMEPLAY SCREEN是活动视图?什么阻止了横向模式?事实上,我认为在我的应用程序中,仅当GAMEPLAY SCREEN是活动视图时禁用纵向模式才有用。

谢谢

1 个答案:

答案 0 :(得分:1)

你最有可能的问题是你没有为androidmanifest中的活动改变android:screenorientation这个例子。

    <activity
        android:name="com.google.example.games.bc.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

ButtonClicker2000示例默认将其锁定为纵向这一事实是个问题。你可能希望它是:

android:screenOrientation="sensor"