Pure Android: frequent porting errors with iOS

Original author: Google
  • Transfer
Many developers want to release their applications across multiple platforms. If you plan to adapt the program for Android, you need to consider that different platforms adhere to different rules of design and behavior. Visual solutions that fit perfectly into the environment of one OS may look alien to another. Undoubtedly, the “one design - many platforms” approach can save a decent amount of time, but you need to understand that the application will surely turn out to be alien, which can push users away. The following techniques will help you avoid the most common traps and pitfalls.

Do not imitate interface elements of other platforms


Typically, the OS provides a carefully designed set of standard elements, designed in a very distinctive style. For example, on some platforms buttons with rounded corners are used, on others - gradients in the headers. In some cases, the elements may have a similar purpose, but work a little differently.

When you create an application for Android, do not transfer stylized interface elements from other platforms, the same applies to behavior. We recommend reading the Building Blocks section.to learn about the most important elements of the Android interface, and how they look in standard system themes. It is also advisable to look at standard system applications to understand how the elements are applied in a particular context. If you want to change the appearance of UI elements, you should do this with caution, as part of your style - and certainly not according to the canons of another platform.

Do not transfer icons specific to another platform


Typically, the OS offers a standard set of general-purpose icons, such as creating a new document, deleting, or the share button.
Since you are porting your program to Android, please use the appropriate icons from the set of this OS. A wide variety of icons for use in your application can be obtained on the download page .

Do not place the tab bar at the bottom


To switch between application screens on other platforms, use the bottom tab bar. Instead, the tabs in Android should be located on the action bar ( ActionBar ), which is located at the top of the screen. In addition, Android apps can use the bottom panel to display actions (in a split ActionBar ).


You must follow this guide to ensure an experience consistent with other Android platform applications and to avoid confusion between actions and screen navigation. For more information about using the action bar for navigation, see the related article .

Do not explicitly associate with other applications


In some cases, you may need a third-party application function: for example, to share information from your application on social networks or to display a page using a link in a browser. Do not explicitly set applications to perform such actions; use the Android API designed for this, which provides a list of all programs that can perform the desired operation. This approach allows the user to complete the task using their favorite application. In particular, for the “share with friends” function, you can use the Share Action Provider in the action panel to provide easy access to the most recently used social elements.

Do not use separate return buttons on the action bar


Other platforms use a dedicated back button that allows the user to move up the hierarchy of application screens. This function in Android is performed by the application icon in the action panel (for hierarchical navigation) and a special back button in the navigation panel. See the Navigation article for details .


Do not use the right arrow in list items


A common practice on other platforms is to display right arrows in each element of the list, which allow you to switch to a detailed display of the corresponding item. Android does not use such designations for list items, so you should refrain from placing such components. This will help ensure a familiar user experience, and will not make the user wonder what such arrows can mean.

Device independence


Remember that your application will run on a wide range of screens of different sizes. Create component sets for different screen sizes and resolutions, use the multi-pane layouts approach to scale correctly on screens with different aspect ratios.

More information on the topic in the Devices and Displays and Multi-pane Layouts articles.

Also popular now: