我见过某些应用程序,尤其是大多数游戏(例如愤怒的小鸟、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
这意味着屏幕在正常横向和反向横向上都将正确地向上看。
于 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 回答
1
把它放在onCreate()
每个活动类(屏幕)中:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
此代码将禁用 android 通知栏(从上到下)。!!!
于 2014-08-20T13:39:38.013 回答