软键栏
为了让用户无论屏幕方向如何都能在设备上使用软键导航,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
来应用主题。如果这样做,则在某些设备上,用户可能会无法访问溢出菜单,因为菜单按钮不可见,如下图所示。