17

特定のアプリ、特にほとんどのゲーム (例: Angry Birds、Temple Run など) は、起動時にフルスクリーンでランドスケープ モードで実行されるのを見てきました。画面に触れても向きが変わることはなく、フルスクリーンを終了することもありません。どのように行われましたか?どのプロパティを変更またはコーディングする必要がありますか?

4

4 に答える 4

21

XML を使用したい場合は、AndroidManifest.xml を変更できます。

<activity android:name="..."
    android:screenOrientation="landscape"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

</activity>

Android SDK 9 以降をターゲットにしている場合は、sensorLandscape代わりにlandscapewhich を使用すると、通常の横向きと逆の横向きの両方で画面が正しく表示されます。

于 2013-01-06T13:38:15.523 に答える
9
import android.view.Window;
import android.view.WindowManager;
import android.content.pm.ActivityInfo;

@Override public void onCreate(Bundle savedInstanceState)
{
    ...

    // Set window fullscreen and remove title bar, and force landscape orientation
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    ...
}

あなたの問題の解決策

于 2013-01-06T13:02:46.390 に答える
4

問題は解決され、上記の回答に基づいて、私がしたことは、

ステップ1:manifest.xmlファイルで、

<application
. . .
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
. . .
</application>

ステップ2:Javaファイルで、次の変更を加えました。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   }

そして今、私のアプリは問題なくフルスクリーン、ランドスケープで実行されます。皆さん、ありがとうございました。

于 2013-01-07T07:09:11.163 に答える