【问题标题】:Making an Android app run full screen and landscape使 Android 应用程序全屏和横向运行
【发布时间】:2013-01-06 12:58:32
【问题描述】:

我见过某些应用程序,尤其是大多数游戏(例如愤怒的小鸟、Temple Run 等)在启动时会以全屏和横向模式运行。它们的方向永远不会改变,并且在触摸屏幕时它们永远不会退出全屏。它是怎么做的?我需要更改或编码哪些属性?

【问题讨论】:

标签: android android-fullscreen


【解决方案1】:

如果您更喜欢使用 XML,可以更改 AndroidManifest.xml:

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

</activity>

如果您的目标是 Android SDK 9 或更高版本,您可以使用 sensorLandscape 而不是 landscape,这意味着屏幕将在正常横向和反向正常方向上看起来正确横向。

【讨论】:

  • 如果设置 min sdk = 8,并在 manifest 中使用 sensorLandscape,应用程序会崩溃吗?
【解决方案2】:
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);

    ...
}

解决您的问题

【讨论】:

  • 知道了!!谢谢@siranen
  • 它更好...将其添加到您各自的活动中
【解决方案3】:

问题解决了,根据上面给出的答案,我所做的是,

第 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】:

    将其放入每个活动类(屏幕)中的onCreate()

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

    此代码将禁用 android 通知栏(从上到下)。 !!!

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2017-08-10
      • 2020-02-06
      • 1970-01-01
      • 2012-08-24
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多