GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing www.developer.amazon.com — Screen Layout and Resolution (Fire Tablets) | Fire Tablets
Screen Layout and Resolution (Fire Tablets)Fire tablets come in a variety of screen sizes, pixel densities, and aspect ratios. As an app developer, it can be challenging to create an app that runs and looks good on many different form factors, especially if you are porting your app from another tablet or from a phone. This document provides an overview of options and techniques for managing different Fire tablet screens in your app.
Keeping Your Icons Looking SharpFor increased commonality with Android, the launcher on Fire OS 5 and Fire OS 6 displays the app icon that you provide within your APK. This is a change from earlier versions of Fire OS, where the launcher used the app icon that you uploaded to the developer portal when submitting your app. See Launcher Icon Guidelines for information about required icon resolution and dimensions. Test your icon across the range of devices where you want your app to run. Make sure that the icon provides a clear and identifiable image that positively represents your brand. The following video provides guidance on managing how your app displays on Fire Tablets. For additional information about the concepts presented in the video, see the Use Flexible Layout, Provide Multiple Layouts for Different Screens, and Provide Multiple Graphics Resources sections in this topic. Use Flexible LayoutIf you design your app for a specific device's screen, it might both look and behave differently than you expect when it runs on a device with a different screen size, aspect ratio, or pixel density. Specifically:
To address these issues, design your app to use a flexible layout. A flexible layout enables your app's user interface (UI) to dynamically scale to different screen sizes, densities, and aspect ratios at runtime. You can follow the Android best practices for designing an app for multiple different screen types, including:
In addition, when porting an app from a smaller screen to a larger one, consider redesigning your app's user interface altogether. You can take advantage of the larger screen size by, for example, including more content or by making better use of portrait and landscape modes. Provide Multiple Layouts for Different ScreensAnother way to provide an app that looks good on different screen types is to define multiple XML layout resources for different screen configurations. At runtime, the device reports its configuration, and Android chooses the appropriate matching layout resources for that screen. Defining multiple sets of layout resources enables you to create a single app with a flexible and adaptable interface for different screen configurations. Screen configurations can be defined by:
To define multiple layouts for different screen types, create layout directories within the res/ directory with suffixes that indicate either the general size or a smallest width qualifier. Place your layout XML files specific to those form factors within those directories. For example, you could create a default layout and a custom layout for "large" screen sizes within these two directories:
Layout directories for smallest width follow the same convention. Smallest width qualifiers are in dp units, which are scaled to the density of the device. For example, Kindle Fire HDX 7" (3rd Generation/2013) has a physical pixel width of 1200 pixels. Its xhdpi density qualifier equates to a scale factor of 2.0. In dp units the width is scaled (divided by) 2.0, resulting in a smallest width qualifier of sw600dp. For layouts optimized for Kindle Fire HDX 7" (or other similar devices), you would use the following directory:
For each of the Fire tablets, the following table shows the actual screen resolution, general size qualifier, scale factor, and smallest width qualifier. For more information about Fire tablet screen sizes, see the Fire Tablet Device and Feature Specifications.
Note that smallest width is not available for Kindle Fire (1st Generation/2011), which is based on an older version of Android. Use a default layout or layout-large to specify a layout for this device. Provide Multiple Graphics ResourcesBitmap drawables, including icons, background images and other graphics, pose a particularly confounding problem for managing the appearance of your app across screens with differing densities or aspect ratios. If you provide a single set of bitmap resources for one screen size or type, Android automatically scales those graphics to fit the device — potentially with less-than-ideal results. Automatic scaling can result in distorted, fuzzy, or jaggy-looking graphics, or unreadable text. As with layouts, you can create multiple drawable directories within the res/ directory for your graphics resources, and optimize your graphics specific to those configurations. You can name those drawable directories as you would layouts, for both generalized and smallest-width qualifiers (for example, res/drawable-large). In addition, Android provides qualifiers for specific screen densities (dots per inch) that might be more useful for bitmaps. For screen densities, Android provides five qualifiers: ldpi, mdpi, hdpi, xhdpi, and tvdpi (low, medium, high, extra high, and TV). For example, to provide both default set of drawables as well as drawables optimized for high-density screens, use these directory names:
You can also mix and match density qualifiers for drawables or layout with size or smallest width:
As with layouts and screen sizes, Android chooses the appropriate set of resources based on the configuration the device reports at runtime. Note that Android's generalized density qualifiers group similar devices together, which makes it easier for you to create layouts and graphics for devices in the same class. Keep in mind, however, that the density qualifiers indicate approximate densities — 160DPI for mdpi, and 240DPI for hdpi — the actual densities of each device might vary slightly. If you use these generalized densities, but build your user interface elements to have precise physical dimensions, you can still encounter unexpected results. For example, layout elements might be the wrong size, or become misaligned on the screen. Be sure to test your app on specific devices to ensure compatibility. The generalized densities correspond to the following DPI values:
Declare Support for Screen Sizes in Your ManifestEven if you follow the previous guidelines for defining a flexible layout and providing alternate layout and graphics resources, you should also declare the supported screen sizes in your Android manifest with the For example, to explicitly indicate that your app supports only tablets ("large" and "xlarge" screens), and those with a minimum width of 533dp, use this code: Note: As with the smallest width qualifiers for resource directories, the requiresSmallestWidthDp attribute is only available on Android 3.2 or higher. Therefore, it is not available on Kindle Fire (1st Generation). See supports-screens for more information on the Declare Support for Split-Screen (Multi-Window) Note: Currently, only supported on the Fire HD 10 (2021), and Fire HD 10 Plus (2021) tablets.
Split-screen mode, also called multi-window, is a feature where two apps can be run side-by-side, or one over the other, simultaneously. This allows you to watch a video, while checking your email, for instance. ![]() Important: Fire OS 7 (API 28) or higher on the Fire HD 10 and 10 Plus (2021) will have split-screen on (set to “true”) by default, unless specifically disabled. See the following details.
How to Enable / Disable Split-ScreenSet this attribute in your manifest's
This value defaults to “true” in Fire OS 7 (API 28) or higher, unless it has been purposely disabled. For more information on configuration, such as how to specify minimum dimensions allowed, see the Multi-Window Support page. Tip: To make sure that your app UI is responding to changes in window size when users enable split screen, use the Jetpack Compose material3-window-size-class library to detect the current window size and change your layout.
Understand How Fullscreen Modes Affect LayoutOn the Fire tablets, your app can operate in one of three screen modes:
The visibility of the status bar and soft key bar might have different effects on your layout, especially if you design your app for fullscreen mode. Specifically:
Your app cannot control whether the toolbars are displayed in fullscreen mode; that behavior is up to the user. If your app layout depends on the full screen being visible at all times, including when the toolbars are displayed, you should adjust your layout to take the size of the toolbars into account. You can find the size of the status bar and soft key bar for each Kindle Fire tablet in User Experience Specifications. Last updated: Apr 27, 2021 Supported devices | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |