web-dev-qa-db-ja.com

Androidアプリをフルスクリーンとランドスケープで実行する

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

13
Sunit Prasad

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

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

</activity>

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

19
Tom Leese
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);

    ...
}

あなたの問題の解決策

7
siranen

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

ステップ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);
   }

そして今、私のアプリは問題なく全画面で実行されます。皆さん、ありがとうございました。

4
Sunit Prasad

すべてのアクティビティクラス(画面)のonCreate()にこれを配置します。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                WindowManager.LayoutParams.FLAG_FULLSCREEN);

このコードは無効になりますAndroid通知バー(プルアップダウン)。!!!

1
rares