2

我现在在商店里看到设备(主要是平板电脑)有返回和菜单按钮作为实际屏幕的一部分。由于我买不起其他设备,而且我的后退和菜单按钮不属于屏幕的一部分,如果我的应用程序使用整个屏幕,它是否能够使用这些按钮。我在用

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

使其全屏显示。

如果这些按钮确实丢失了,有没有办法找出来,以便为这些设备提供屏幕替代品。另请注意,我正在使用minSdkVersion="7",这意味着我希望它适用于任何2.1 upwards.

4

1 回答 1

1

在 Honeycomb 中删除了菜单按钮。您可以检查 API 版本并盲目假设它是否是 Honeycomb,然后菜单按钮默认不存在(但在使用旧版应用程序时会添加)。您可以通过这种方式检查 API 版本:

if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ) {
  // no menu button by default..
}

这些控制按钮(主页、返回和最近使用的应用程序)始终是屏幕的一部分,即使是全屏(可以变暗,但不能移除)

编辑:但是默认情况下, Honecomb 中不存在屏幕上的“菜单”键,当您启动不是使用 targetSdk=11(或更高版本)构建的旧应用程序时,Android 将显示该按钮(否则用户将无法充分使用该应用程序)。一般来说 - 如果您的应用根本不需要菜单按钮,则将 targetSdk 设置为 Honeycomb 及以上。如果需要,请将 targetSdk 设置为较低的值,Android 会处理这种情况

于 2012-09-03T22:33:49.323 回答