Skip to content

Most visited

Recently visited

navigation

Create App Icons with Image Asset Studio

Video

Density-independent Pixels

Android Studio includes a tool called Image Asset Studio that helps you generate your own app icons from material icons, custom images, and text strings. It generates a set of icons at the appropriate resolution for each generalized screen density that your app supports. Image Asset Studio places the newly generated icons in density-specific folders under the res/ directory in your project. At runtime, Android uses the appropriate resource based on the screen density of the device your app is running on.

Image Asset Studio helps you generate the following icon types:

About Image Asset Studio

Image Asset Studio helps you create various types of icons at different densities and shows you exactly where they'll be placed in your project. It includes tools for adjusting your icons and adding backdrops, all while displaying the result in a preview pane, so they appear exactly as you intended. These tools can dramatically streamline the icon design and import process. The following sections describe the icon types that you can create and the image and text inputs that you can use.

Launcher icons

A launcher icon is a graphic that represents your app to users. It can:

Image Asset Studio automatically creates separate icons for the recommended generalized screen densities, including mdpi, hdpi, xhdpi, xxhdpi, and xxxhdpi. This ensures that your icon displays well on a variety of screens and devices. It places the icons in the proper locations in the res/mipmap-density/ directories. It also creates a 512 x 512 pixel image that's appropriate for the Google Play Store.

We recommend that you use the material design style for launcher icons, even if you support older Android versions.

See Launcher Icons and Product Icons - Material Design for more information.

Action bar and tab icons

Action Bar icons are graphical elements placed in the Action Bar and that represent individual action items. See Adding and Handling Actions, App Bar - Material Design, and Action Bar Design for more information.

Tab icons are graphical elements used to represent individual tabs in a multi-tab interface. Each tab icon has two states: unselected and selected. See Creating Swipe Views with Tabs and Tabs - Material Design for more information.

Image Asset Studio automatically creates separate icons for the recommended generalized screen densities, including mdpi, hdpi, xhdpi, and xxhdpi. It places the icons in the proper locations in the res/drawable-density/ directories.

We recommend that you use the material design style for action bar and tab icons, even if you support older Android versions. Use appcompat and other support libraries to deliver your material design UI to older platform versions.

As an alternative to Image Asset Studio, you can use Vector Asset Studio to create action bar and tab icons. Vector drawables are appropriate for simple icons and can reduce the size of your APK.

Notification icons

A notification is a message that you can display to the user outside of the normal UI of your app. When you tell the system to issue a notification, it first appears as an icon in the notification area. To see the details of the notification, the user opens the notification drawer. Both the notification area and the notification drawer are system-controlled areas that the user can view at any time.

Image Asset Studio automatically creates separate icons for the recommended generalized screen densities, including mdpi, hdpi, xhdpi, and xxhdpi. It places the icons in the proper locations in the res/drawable-density/ directories:

If your app supports Android 2.3 to 2.3.7 (API level 9 to 10), Image Asset Studio generates a gray version of your icon. Later Android versions use the white icon that Image Asset Studio generates.

See Notifications; Notifications Material Design; Notifications, Android 5.0 Changes; Notifications, Android 4.4 and Lower; and Status Bar Icons, Android 3.0 and Lower for more information.

Clip art

Image Asset Studio makes it easy for you to import Google material icons in PNG form: simply select an icon from a dialog. For more information, see Material Icons.

Images

You can import your own images and adjust them for the icon type. Image Asset Studio supports the following file types: PNG (preferred), JPG (acceptable), and GIF (discouraged).

Text strings

Image Asset Studio lets you type a text string in a variety of fonts, and places it on an icon. It converts the text-based icon into PNG files for different densities. You can use the fonts that are installed on your computer.

Running Image Asset Studio

To start Image Asset Studio, follow these steps:

  1. In the Project window, select the Android view.
  2. Right-click the res folder and select New > Image Asset.

  3. Continue by following the steps to create a launcher icon, an action bar or tab icon, or a notification icon.

Creating a Launcher Icon

After you open Image Asset Studio, you can add a launcher icon by following these steps:

  1. In the Icon Type field, select Launcher Icons.
  2. Select an Asset Type, and then specify the asset in the field underneath:
    • In the Clip Art field, click the button.
    • In the Select Icon dialog, select a material icon and then click OK.

    • In the Path field, specify the path and file name of the image. Click ... to use a dialog.
    • In the Text field, type a text string and select a font.

    The icon appears in the Source Asset area on the right side, and in the preview area at the bottom of the wizard.

  3. Optionally change the name and display settings:
    • Name - If you don’t want to use the default name, type a new name. If that resource name already exists in the project, as indicated by an error at the bottom of the wizard, it's overwritten. The name can contain lowercase characters, underscores, and digits only.
    • Trim - To adjust the margin between the icon graphic and border in the source asset, select Yes. This operation removes transparent space, while preserving the aspect ratio. To leave the source asset unchanged, select No. Default: No
    • Padding - If you want to adjust the source asset padding on all four sides, move the slider. Select a value between -10% and 50%. If you also select Trim, the trimming happens first. Default: 0%
    • Foreground - To change the foreground color for a Clip Art or Text icon, click the field. In the Select Color dialog, specify a color and then click Choose. The new value appears in the field. Default: 000000
    • Background - To change the background color, click the field. In the Select Color dialog, specify a color and then click Choose. The new value appears in the field. Default: FFFFFF
    • Scaling - To fit the icon size, select Crop or Shrink to Fit. With crop, the image edges can be cut off, and with shrink, they aren't. You can adjust the padding, if needed, if the source asset still doesn't fit well. Default: Shrink to Fit
    • Shape - To place a backdrop behind your source asset, select a shape, one of circle, square, vertical rectangle, or horizontal rectangle. For a transparent backdrop, select None. Default: Square
    • Effect - If you want to add a dog-ear effect to the upper right of a square or rectangle shape, select DogEar. Otherwise, select None. Default: None

    Image Asset Studio places the icon within a transparent square so there's some padding on the edges. The padding provides adequate space for the standard drop-shadow icon effect.

  4. Click Next.
  5. Optionally change the resource directory:
    • Res Directory - Select the resource source set where you want to add the image asset: src/main/res, src/debug/res, src/release/res, or a user-defined source set. The main source set applies to all build variants, including debug and release. The debug and release source sets override the main source set and apply to one version of a build. The debug source set is for debugging only. To define a new source set, select File > Project Structure > app > Build Types. For example, you could define a beta source set and create a version of an icon that includes the text "BETA” in the bottom right corner. For more information, see Configure Build Variants.

    The Output Directories area displays the images and the folders where they will appear in Project Files view of the Project window.

  6. Click Finish.
  7. Image Asset Studio adds the images to the mipmap folders for the different densities.

Creating an Action Bar or Tab Icon

After you open Image Asset Studio, you can add an action bar or tab icon by following these steps:

  1. In the Icon Type field, select Action Bar and Tab Icons.
  2. Select an Asset Type, and then specify the asset in the field underneath:
    • In the Clip Art field, click the button.
    • In the Select Icon dialog, select a material icon and then click OK.

    • In the Path field, specify the path and file name of the image. Click ... to use a dialog.
    • In the Text field, type a text string and select a font.

    The icon appears in the Source Asset area on the right side, and in the preview area at the bottom of the wizard.

  3. Optionally change the name and display options:
    • Name - If you don’t want to use the default name, type a new name. If that resource name already exists in the project, as indicated by an error at the bottom of the wizard, it's overwritten. The name can contain lowercase characters, underscores, and digits only.
    • Trim - To adjust the margin between the icon graphic and border in the source asset, select Yes. This operation removes transparent space, while preserving the aspect ratio. To leave the source asset unchanged, select No. Default: No
    • Padding - If you want to adjust the source asset padding on all four sides, move the slider. Select a value between -10% and 50%. If you also select Trim, the trimming happens first. Default: 0%
    • Theme - Select HOLO_LIGHT or HOLO_DARK. Or, to specify a color in the Select Color dialog, select CUSTOM and then click the Custom color field. Default: None

    Image Asset Studio creates the icon within a transparent square so there's some padding on the edges. The padding provides adequate space for the standard drop-shadow icon effect.

  4. Click Next.
  5. Optionally change the resource directory:
    • Res Directory - Select the resource source set where you want to add the image asset: src/main/res, src/debug/res, src/release/res, or a user-defined source set. The main source set applies to all build variants, including debug and release. The debug and release source sets override the main source set and apply to one version of a build. The debug source set is for debugging only. To define a new source set, select File > Project Structure > app > Build Types. For example, you could define a beta source set and create a version of an icon that includes the text "BETA” in the bottom right corner. For more information, see Configure Build Variants.

    The Output Directories area displays the images and the folders where they will appear in Project Files view of the Project window.

  6. Click Finish.
  7. Image Asset Studio adds the images in the drawable folders for the different densities.

Creating a Notification Icon

After you open Image Asset Studio, you can add a notification icon by following these steps:

  1. In the Icon Type field, select Notification Icons.
  2. Select an Asset Type, and then specify the asset in the field underneath:
    • In the Clip Art field, click the button.
    • In the Select Icon dialog, select a material icon and then click OK.

    • In the Path field, specify the path and file name of the image. Click ... to use a dialog.
    • In the Text field, type a text string and select a font.

    The icon appears in the Source Asset area on the right side, and in the preview area at the bottom of the wizard.

  3. Optionally change the name and display options:
    • Name - If you don’t want to use the default name, type a new name. If that resource name already exists in the project, as indicated by an error at the bottom of the wizard, it's overwritten. The name can contain lowercase characters, underscores, and digits only.
    • Trim - To adjust the margin between the icon graphic and border in the source asset, select Yes. This operation removes transparent space, while preserving the aspect ratio. To leave the source asset unchanged, select No. Default: No
    • Padding - If you want to adjust the source asset padding on all four sides, move the slider. Select a value between -10% and 50%. If you also select Trim, the trimming happens first. Default: 0%

    Image Asset Studio creates the icon within a transparent square so there's some padding on the edges. The padding provides adequate space for the standard drop-shadow icon effect.

  4. Click Next.
  5. Optionally change the resource directory:
    • Res Directory - Select the resource source set where you want to add the image asset: src/main/res, src/debug/res, src/release/res, or a user-defined source set. The main source set applies to all build variants, including debug and release. The debug and release source sets override the main source set and apply to one version of a build. The debug source set is for debugging only. To define a new source set, select File > Project Structure > app > Build Types. For example, you could define a beta source set and create a version of an icon that includes the text "BETA” in the bottom right corner. For more information, see Configure Build Variants.

    The Output Directories area displays the images and the folders where they will appear in Project Files view of the Project window.

  6. Click Finish.
  7. Image Asset Studio adds the images in the drawable folders for the different densities and versions.

Referring to an Image Resource in Code

You can normally refer to an image resource in a generic way in your code, and when your app runs, the corresponding image displays automatically depending on the device:

You can access image resources from the main thread only.

After you have an image resource in the res/ directory of your project, you can reference it from your Java code or your XML layout using its resource ID. The following Java code sets an ImageView to use the drawable/myimage.png resource:

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

See Accessing Resources for more information.

For launcher icons, the AndroidManifest.xml file must reference the mipmap/ location. Image Asset Studio adds this code automatically. The following manifest file code references the ic_launcher icon in the mipmap/ directory:

<application android:name="ApplicationTitle"
         android:label="@string/app_label"
         android:icon="@mipmap/ic_launcher" >

Deleting an Icon from a Project

To remove an icon from a project:

  1. In the Project window, select the Android view.
  2. Expand the res/mipmap folder for a launcher icon, or the res/drawable folder for other types of icons.
  3. Locate a subfolder that has the name of the icon you want to delete.
  4. This folder contains the icon in different densities.

  5. Select the folder and press the Delete key.
  6. Alternatively, select Edit > Delete. Or right-click the file and select Delete.

    The Safe Delete dialog appears.

  7. Optionally select options to find where the icon is used in the project, and click OK.
  8. Android Studio deletes the files from the project and the drive. However, if you chose to search for places in the project where the files are used and some usages are found, you can view them and decide whether to delete them. You must delete or replace these references to be able to successfully compile your project.

  9. Select Build > Clean Project.
  10. Android Studio removes any generated image files corresponding to the deleted image resource. It removes them from the project and the drive.

  11. If needed, correct any remaining errors due to portions of the code that reference the resource.
  12. Android Studio highlights these errors in your code. When you've removed all references from your code, you can successfully build your project again.

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.