Soft Key Bar

To help users navigate the device with soft keys in any screen orientation, Fire OS 5 shows the Android navigation bar at the bottom of the screen. For information about the specifications for the navigation bar, see UX Specifications. The navigation bar does not have customization.

Note: Fire tablets running earlier versions of Fire OS have a soft key bar that allows for certain overrides to the default behavior within an app. This customization is deprecated as of Fire OS 5.

Screen Layout

The navigation bar is always accessible to the user because Fire tablets do not have hardware-based keys for system functions. Therefore, make sure that the user interface for your app is not obscured by the navigation bar or status bar. For information about screen layout, see Screen Layout and Resolution.

The return values from android.util.DisplayMetrics are the screen resolution, not the resolution of the region unobscured by toolbars. When querying DisplayMetrics to calculate the appropriate size for the user interface and graphics, you need to adjust the return values to compensate for any toolbars.

Back Button

The default behavior of the Back button is sufficient for most apps, because it returns the user to the previous activity. However, you can modify the behavior of the Back button by overriding the Activity.onBackPressed() method in your Activity. Make sure that the custom behavior is consistent with user expectations for the Back button.

@Override
public void onBackPressed() {
   // Do something when the Back button is pressed
   return;
}

Soft Key Bar Buttons (Fire OS 4 and earlier)

In Fire OS 4 and earlier, the soft key bar has the following buttons:

  • Home
  • Back
  • Overflow menu
  • Search
  • Favorites (first-generation and second-generation Kindle Fire tablets only)

Your app can provide menu items for the overflow menu. Your app can handle the behavior of the Back button and Search button, if you want a behavior that differs from the system default.

When the user rotates the device from portrait to landscape, the soft key bar pivots to a vertical orientation, along the right edge of the screen. For more information, see Device Orientation.

Search Button (Fire OS 4 and earlier)

The Search button on the soft key bar has a default behavior of displaying the device-level search interface. Optionally, your app can provide a customized search experience by overriding the onSearchRequested() method in your Activity. For information about adding a custom search interface, including managing a SearchView from the action bar, see Creating a Search Interface in the Android documentation.

@Override
public boolean onSearchRequested () {
   // Add customized Search button behavior
   return true;
}

Overflow Menu (Fire OS 4 and earlier)

You can use the overflow menu for additional commands that you want the user to access from the soft key bar. You should put the following types of commands on the overflow menu:

  • App settings.
  • Tasks that do not fit the current user interface.
  • Global actions for your app.

Keep the following guidelines in mind when adding items to the overflow menu:

  • Include no more than six items. The overflow menu does not scroll.
  • Keep labels short because text strings do not wrap. The menu can expand up to 500px wide before text is truncated.
  • Use title capitalization for all menu items.

The target Android API level for the app determines the location of the overflow menu. With an AndroidManifest.xml as follows, an app on a third-generation or second-generation Kindle Fire tablet shows an overflow menu on the action bar.

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

You can show the overflow menu on the soft key bar if the targetSdkVersion is 13 or earlier. In your AndroidManifest.xml, specify the theme shown in the following example.

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

To instantiate your menu when the user presses the overflow menu button, override the Activity.onCreateOptionsMenu() method in your Activity. For more information about creating a menu, see the Android API guide for Menus.

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

Warning: Do not set the value for android.targetSdkVersion to 14 or later and apply a theme with NoTitleBar. If you do this, on some devices the user may not be able to access the overflow menu because the menu button is not visible, as illustrated below.