特定のアプリ、特にほとんどのゲーム (例: Angry Birds、Temple Run など) は、起動時にフルスクリーンでランドスケープ モードで実行されるのを見てきました。画面に触れても向きが変わることはなく、フルスクリーンを終了することもありません。どのように行われましたか?どのプロパティを変更またはコーディングする必要がありますか?
70053 次
4 に答える
21
XML を使用したい場合は、AndroidManifest.xml を変更できます。
<activity android:name="..."
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
Android SDK 9 以降をターゲットにしている場合は、sensorLandscape
代わりにlandscape
which を使用すると、通常の横向きと逆の横向きの両方で画面が正しく表示されます。
于 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 に答える