Skip to content
Droid ToolsDroid Tools
Home

Explore

  • News
    417
  • OS
    260
  • Apps
    226
  • Phones
    178
  • Guides
    175
  • Wearables
    98
  • Reviews
    16

Latest Articles

  • Vivo introduces OriginOS Time-Based Lighting and dual Control Center layouts
    OS

    Vivo introduces OriginOS Time-Based Lighting and dual Control Center layouts

  • Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers
    News

    Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers

  • Vivo X500 Pro Max hands-on details show 2nm Dimensity chip and 7,800mAh battery
    Reviews

    Vivo X500 Pro Max hands-on details show 2nm Dimensity chip and 7,800mAh battery

  • Xiaomi 18 Pro European pricing and hardware details emerge in new leak
    News

    Xiaomi 18 Pro European pricing and hardware details emerge in new leak

  • How to turn off Pixel camera AI features on newer Google devices
    Guides

    How to turn off Pixel camera AI features on newer Google devices

Live Offers

Deal Alerts

Browse reported discounts on phones, wearables, and accessories. Check the retailer for the current price and availability.

View All Deals

Latest Deal Alerts

  • Sony WF-1000XM6 earbuds drop to $238 in limited B&H Photo Video discount
    🔥 Offer

    Sony WF-1000XM6 earbuds drop to $238 in limited B&H Photo Video discount

  • Walmart cuts iVANKY ultra-slim magnetic power bank to $15 in 50% discount
    🔥 Offer

    Walmart cuts iVANKY ultra-slim magnetic power bank to $15 in 50% discount

  • 🔥 Offer

    Amazon offers $749 Pixel 10 Pro XL deal as memory prices climb

  • Moto Tag 2 price increases to $29.99 as introductory discount ends
    🔥 Offer

    Moto Tag 2 price increases to $29.99 as introductory discount ends

  • Samsung Galaxy S26 discounts continue on Amazon after October Prime Day
    🔥 Offer

    Samsung Galaxy S26 discounts continue on Amazon after October Prime Day

About UsContact
Editorial PolicyReview Policy
Privacy PolicyCookie PolicyTerms & Conditions
⌘K
Search
Official Channels10 Profiles
FacebookX (Twitter)InstagramThreadsLinkedInBlueskyTikTokTelegramMastodonRSS Feed
Droid Tools

Droid Tools covers the latest Android news, device reviews, app updates, and OS guides. Stay informed with hands-on coverage from mobile tech experts.

Explore

  • News
  • Phones
  • Apps
  • Android OS
  • Wearables
  • Guides
  • Reviews
  • Deals

Legal & Info

  • About Us
  • Contact
  • Editorial Policy
  • Review Policy
  • Privacy Policy
  • Terms & Conditions
  • Cookie Policy
  • Affiliate Disclosure
  • Disclaimer
  • HTML Sitemap
  • XML Sitemap
© 2026 Droid Tools. All rights reserved.
Home/News/Use Font Awesome icons in android apps
News

Use Font Awesome icons in android apps

Font Awesome is a widely used icon toolkit that may be found on a variety of websites. It features both a free and a paid icon collection, but the free collection has the majority of the icons. Unicode () will be used to represent each icon. In TextView, we utilize this unicode to display the ...

Robert Haba• Founder · Editor-in-Chief
Nov 4, 2021•Updated•3 min read
Use Font Awesome icons in android apps
0%
Share on XFacebookBluesky
Follow on Google
Trust this source on GoogleAlways see our reviews and tech guides first in search results
Add trusted source

Font Awesome is a widely used icon toolkit that may be found on a variety of websites. It features both a free and a paid icon collection, but the free collection has the majority of the icons. Unicode () will be used to represent each icon. In TextView, we utilize this unicode to display the icon. All text styling elements (color, size, paddings, etc.) can be added because it’s a regular TextView.

If you wish to display the android Robot logo, for example, you can use  unicode as the TextView value.

GITHUB

1. Font Awesome Android Library

To use the Font Awesome icon collection, simply add the font awesome font files to your assets and apply the relevant fontFace to the TextView, which is a much easier operation. However, we’d like the icons to appear in other widgets as well, such as Buttons, Menus, Bottom Navigation, and Navigation Drawer. It requires some effort to display an icon in a non-textual view. As a result, I created a library that has all of the essential methods for rendering icons in numerous widgets.

To get started, include the fontawesome in your build.gradle and sync your project.

dependencies {
    // font awesome
    implementation 'info.androidhive:fontawesome:0.0.5'
}

2. How to use it?

(adsbygoogle = window.adsbygoogle || []).push({});

Displaying Icon in TextView

Using the FontTextView text and specifying the proper icon name as text value is the simplest way to display the font icon. Because this widget is derived from AppCompatTextView, it inherits all of the text view properties.

<info.androidhive.fontawesome.FontTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/fa_calendar_check_solid"
            android:textColor="@color/icon_color"
            android:textSize="@dimen/icon_size"
            app:solid_icon="true" />
  • solid_icon: To display solid icon, set this value as true.
  • brand_icon: To display brand icon, set this value as true.

Using FontDrawable

Using the icon in xml layout is easy, but if you want to use the icon for other widget like button or menu, you can use the FontDrawable element to apply the icon.

You may also likeRelated
NewsDevelopers run iOS on Android devices using custom XNU kernel and iPhone X driversOct 28, 2026→NewsXiaomi 18 Pro European pricing and hardware details emerge in new leakOct 28, 2026→NewsHonor AI Smart Grip expands to the Magic 6 series for one-handed call handlingOct 27, 2026→

For an example, if you want to use the font awesome icon to Floating Action Button, you can use the FontDrawable as shown below.

FloatingActionButton fab = findViewById(R.id.fab);
 
// using paper plane icon for FAB
FontDrawable drawable = new FontDrawable(this, R.string.fa_paper_plane_solid, true, false);
 
// white color to icon
drawable.setTextColor(ContextCompat.getColor(this, android.R.color.white));
fab.setImageDrawable(drawable);

Using in Menus (Bottom Navigation, Navigation Drawer etc.,)

You can also use font icons in widgets that use the menu file to generate elements like Toolbar icons, Bottom Navigation, and Navigation Drawer, among others. You can use the FontDrawable to configure the icons in menus, however it requires a few hacks using java code.

The below example shows rending the font awesome icons in Navigation Drawer menu. Full example can be found here.

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        intDrawerLayout();
    }
 
    /**
     * Changing navigation drawer icons
     * This involves looping through menu items and applying icons
     */
    private void intDrawerLayout() {
        NavigationView navigationView = findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
 
        ImageView iconHeader = navigationView.getHeaderView(0).findViewById(R.id.nav_header_icon);
        FontDrawable drawable = new FontDrawable(this, R.string.fa_font_awesome, false, true);
        drawable.setTextColor(ContextCompat.getColor(this, android.R.color.white));
        drawable.setTextSize(50);
        iconHeader.setImageDrawable(drawable);
 
        int[] icons = {
                R.string.fa_home_solid, R.string.fa_calendar_alt_solid, R.string.fa_user_solid,
                R.string.fa_heart_solid, R.string.fa_comment_solid, R.string.fa_dollar_sign_solid, R.string.fa_gift_solid
        };
        renderMenuIcons(navigationView.getMenu(), icons, true, false);
 
        int[] iconsSubmenu = {R.string.fa_cog_solid, R.string.fa_sign_out_alt_solid};
 
        renderMenuIcons(navigationView.getMenu().getItem(7).getSubMenu(), iconsSubmenu, true, false);
    }
 
    /**
     * Looping through menu icons are applying font drawable
     */
    private void renderMenuIcons(Menu menu, int[] icons, boolean isSolid, boolean isBrand) {
        for (int i = 0; i < menu.size(); i++) {
            MenuItem menuItem = menu.getItem(i);
            if (!menuItem.hasSubMenu()) {
                FontDrawable drawable = new FontDrawable(this, icons[i], isSolid, isBrand);
                drawable.setTextColor(ContextCompat.getColor(this, R.color.icon_nav_drawer));
                drawable.setTextSize(22);
                menu.getItem(i).setIcon(drawable);
            }
        }
    }
}
Trust this source on GoogleAlways see our reviews and tech guides first in search results
Add trusted source
Tags:#android#apps#awesome#code#drawable#font
Recommended Deals
1 / 9
✨Great Deal
Samsung Galaxy Watch 7

Samsung Galaxy Watch 7

4.8
$159.00$249.99-36%
Buy on Amazon
* As an Amazon Associate, Droid Tools earns from qualifying purchases. Read our editorial policy
Robert Haba
Robert HabaFounder · Editor-in-Chief
X

Robert Haba is the founder and editor-in-chief of Droid Tools. A lifelong gadget enthusiast with over a decade following the Android ecosystem, he built this publication to cut through the noise and give readers honest, real-world coverage of the tech they actually use.

Next Story in News

Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers

Developers can now run iOS on Android phones using a modified XNU kernel, though key features like cellular data and cameras remain broken on early ports.

→

Latest Stories

Garmin CIRQA vibration alerts arrive with firmware update 4.2001

Garmin CIRQA vibration alerts arrive with firmware update 4.20

02

Pixel update schedule shifts as older devices reach end of life

03

Vivo introduces OriginOS Time-Based Lighting and dual Control Center layouts

04

Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers

Recommended Deal
-13% OFF
Google Pixel Watch 5 (45mm)

Google Pixel Watch 5 (45mm)

5.0(1,771 reviews)
$459.99$529.99
Buy on Amazon

* As an Amazon Associate, Droid Tools earns from qualifying purchases.

Top Deals

Sony WF-1000XM6 earbuds drop to $238 in limited B&H Photo Video discount

Deal
Sony WF-1000XM6 earbuds drop to $238 in limited B&H Photo Video discount

Walmart cuts iVANKY ultra-slim magnetic power bank to $15 in 50% discount

Deal
Walmart cuts iVANKY ultra-slim magnetic power bank to $15 in 50% discount

Amazon offers $749 Pixel 10 Pro XL deal as memory prices climb

Deal

Continue reading

More from this category →
Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers
NewsOct 29, 2026

Developers run iOS on Android devices using custom XNU kernel and iPhone X drivers

Developers can now run iOS on Android phones using a modified XNU kernel, though key features like cellular data and cameras remain broken on early ports.

By Cristian Penisoara
Xiaomi 18 Pro European pricing and hardware details emerge in new leak
NewsOct 28, 2026

Xiaomi 18 Pro European pricing and hardware details emerge in new leak

Leaked European pricing for the Xiaomi 18 Pro points to a €1,449 starting price alongside smaller battery capacities and 90W charging.

By Robert Haba
Honor AI Smart Grip expands to the Magic 6 series for one-handed call handling
NewsOct 27, 2026

Honor AI Smart Grip expands to the Magic 6 series for one-handed call handling

Honor AI Smart Grip adjusts incoming call buttons based on your hand position as the MagicOS feature expands to Magic 6 phones and later models.

By Robert Haba
Google phone number verification may link multiple accounts on one device
NewsOct 24, 2026

Google phone number verification may link multiple accounts on one device

Google phone number verification reportedly links saved phone numbers across all signed-in Google accounts on an Android device without prompts.

By Robert Haba
Next in queue

Read the next article

The next story loads as you reach the end. You can also load it using the button.

Comments & Discussions

Join the conversation! We use Disqus to handle comments. Click the button below to load the comment section.