Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
A

Android-RobotoTextView

> 编程语言
Open source

Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab fonts.

769 stars0 likes1 views
WebsiteGitHub

About

Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab fonts.

Android-RobotoTextView

Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab and Roboto Mono fonts.

Supported fonts:

  • Roboto
  • Roboto Condensed
  • Roboto Slab
  • Roboto Mono

Deprecated :cry:

This project is deprecated in favor of the native implementation introduced in Android O.

Compatibility

This library is compatible from API 14 (Android 4.0).

Download

Gradle:

groovy
compile 'com.github.johnkil.android-robototextview:robototextview:4.0.0'

Maven:

xml

    com.github.johnkil.android-robototextview
    robototextview
    4.0.0
    aar

Usage

In XML

To set up a typeface you must specify the parameter robotoTypeface:

xml

or specify a set of parameters robotoFontFamily, robotoTextWeight and robotoTextStyle:

xml

Set up typeface in code:

In Code

Using parameter typeface:

java
RobotoTextView textView = new RobotoTextView(context);
RobotoTypefaces.setUpTypeface(
        textView, 
        RobotoTypefaces.TYPEFACE_ROBOTO_LIGHT_ITALIC);

Using parameters fontFamily, textWeight and textStyle:

java
RobotoTextView textView = new RobotoTextView(context);
RobotoTypefaces.setUpTypeface(
        textView, 
        RobotoTypefaces.FONT_FAMILY_ROBOTO,
        RobotoTypefaces.TEXT_WEIGHT_LIGHT,
        RobotoTypefaces.TEXT_STYLE_ITALIC);

With Span

Using parameter typeface:

java
RobotoTypefaceSpan span = new RobotoTypefaceSpan(
        context, 
        RobotoTypefaces.TYPEFACE_ROBOTO_LIGHT_ITALIC);
Spannable spannable = new SpannableString("text");
spannable.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Using parameters fontFamily, textWeight and textStyle:

java
RobotoTypefaceSpan span = new RobotoTypefaceSpan(
        context,
        RobotoTypefaces.FONT_FAMILY_ROBOTO,
        RobotoTypefaces.TEXT_WEIGHT_LIGHT,
        RobotoTypefaces.TEXT_STYLE_ITALIC);
Spannable spannable = new SpannableString("text");
spannable.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Roboto Inflater

To apply roboto typeface for original TextView (like a Calligraphy) you must attach inflater in your Activity class in the #onCreate() method.

java
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    RobotoInflater.attach(this);
    super.onCreate(savedInstanceState);
}

and specify the typeface in xml:

xml

Note: Popular IDE's (Android Studio, IntelliJ) will likely mark this as an error despite being correct. You may want to add tools:ignore="MissingPrefix" to either the View itself or its parent ViewGroup to avoid this. You'll need to add the tools namespace to have access to this "ignore" attribute. xmlns:tools=" http://schemas.android.com/tools". See https://code.google.com/p/android/issues/detail?id=65176.

Gradle

If you intend to use is not all fonts, the extra fonts can be removed.

groovy
android.applicationVariants.all{ variant ->
    variant.mergeAssets.doLast {
        File fonts = file("$variant.mergeAssets.outputDir/fonts")
        if (fonts.exists()) {
            for (File file : fonts.listFiles()) {
                if (file.getName().contains("RobotoSlab")) {
                    println("delete " + file.getName() + " font")
                    file.delete()
                }
            }
        }
    }
}

License

Copyright 2014 Evgeny Shishkin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javaandroidfontmaterialroboto-condensed

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言