开发者控制台

软键栏


软键栏

为了让用户无论屏幕方向如何都能在设备上使用软键导航,Fire OS 5在屏幕底部显示了Android导航栏。有关导航栏的规格,请参阅UX规格。导航栏没有自定义项。

屏幕布局

用户始终可以访问导航栏,因为Fire平板电脑没有用于系统功能的硬件键。因此,请确保应用的用户界面不会被导航栏或状态栏遮挡。有关屏幕布局的信息,请参阅屏幕布局和分辨率

android.util.DisplayMetrics收到的返回值是屏幕分辨率,而不是工具栏未遮挡区域的分辨率。查询DisplayMetrics以计算用户界面和图形的适当大小时,需要对返回值进行调整以补偿任工具栏造成的影响。

后退按钮

后退按钮的默认行为对于大多数应用来说已经足够了,因为它会让用户返回到上一个活动。但是,可以通过重写活动中的Activity.onBackPressed()方法来修改后退按钮的行为。请确保自定义行为与用户对后退按钮的期望一致。

@Override
public void onBackPressed() {
   // 当按下后退按钮时行动
   return;
}

软键栏按钮(Fire OS 4及更早版本)

在Fire OS 4及更早版本中,软键栏具有以下按钮:

  • 主页
  • 后退
  • 溢出菜单
  • 搜索
  • 收藏夹(仅第1代和第2代Kindle Fire平板电脑)

应用可以为溢出菜单提供菜单项。如果您想要不同于系统默认的行为,应用可以处理后退按钮和搜索按钮的行为。

当用户将设备从纵向旋转到横向时,软键栏沿屏幕右侧边缘旋转到垂直方向。有关更多信息,请参阅设备方向

搜索按钮(Fire OS 4及更早版本)

软键栏上搜索按钮的默认行为是显示设备级搜索界面。或者,应用也可以通过重写活动中的onSearchRequested()方法来提供自定义搜索体验。有关添加自定义搜索界面(包括从操作栏管理SearchView)的信息,请参阅Android文档中的创建搜索界面

@Override
public boolean onSearchRequested () {
   // 添加自定义搜索按钮行为
   return true;
}

溢出菜单(Fire OS 4及更早版本)

可以使用溢出菜单来执行您希望用户从软键栏访问的其他命令。应该将以下类型的命令方在溢出菜单上:

  • 应用设置。
  • 不适合当前用户界面的任务。
  • 应用的全局操作。

向溢出菜单添加项目时,请遵循以下原则:

  • 包含不超过六个项目。溢出菜单不支持滚动。
  • 标签保持简短,因为文本字符串不会换行。在不截断文本的情况下,菜单最多可以扩展到500px宽。
  • 对所有菜单项使用标题大写。

应用的目标Android API级别决定了溢出菜单的位置。通过如下所示的AndroidManifest.xml文件,第3代或第2代Kindle Fire平板电脑上的应用可在操作栏上显示溢出菜单。

<uses-sdk
	android:minSdkVersion="15"
	android:targetSdkVersion="17" />
<application
	...
	android:theme="@android:style/Theme.DeviceDefault" />

如果targetSdkVersion为13或更早,则可以在软键栏上显示溢出菜单。在AndroidManifest.xml文件中,指定以下示例中显示的主题。

<uses-sdk
	android:minSdkVersion="8"
	android:targetSdkVersion="11" />
<application
	...
	android:theme="@android:style/Theme.NoTitleBar" />

要在用户按下溢出菜单按钮时让菜单实例化,请重写活动中的Activity.onCreateOptionsMenu()方法。有关创建菜单的更多信息,请参阅有关菜单的Android API指南。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_menu, menu);
    return true;
}

警告: 请勿将android.targetSdkVersion的值设置为14或更高,并通过NoTitleBar来应用主题。如果这样做,则在某些设备上,用户可能会无法访问溢出菜单,因为菜单按钮不可见,如下图所示。