I would like to change the font size throughout the entire operating system, not just in one app or on one screen. Is there a way to do this?

Searching the internet brought up someone saying the Spare Parts app on the Market can do this, but that was incorrect. Its font size preference only affects the app itself.

The developer documentation does seem to imply there is a user font size preference. From http://developer.android.com/intl/fr/guide/topics/resources/more-resources.html :

sp Scale-independent Pixels - this is like the dp unit, but it is also scaled by the user's font size preference.

But it does not say anything about how a user is supposed to set this. I don't see it in the settings on the phones I have.

4 Answers 4


There is now a setting for this, though I'm not sure if it is in stock Android and since which version it is available. It was definitely there in Sony's Gingerbread and ICS ROMs (Xperia Neo V) and Cyanogenmod 9/10.

In Cyanogenmod 9+, it's in the "System" submenu below the "Interface" caption.

  • 1
    I know HTC's ICS has an option for Font Size as well, in Settings then Display. Yay for progress. Commented Sep 13, 2012 at 3:38

Take a look at "Font Size (for root users)" in the market. It costs $1.36 and only works with rooted phones but it claims to:

"globally enlarges/decreases text size in all apps (Email, SMS, Maps, Home, Weather, Calendar, Widgets, ...)"

The reviews aren't so good but it's worth a try.


Another option ( very restricted, because involves changes in the platform ) is to change the



There you must:

-Create a setter/getter pair to obtain the font value

-Change the point where the file obtain the value. I changed the method

public void setToDefaults(){
  //I set the class member to the desired value trough my getter ( getFontScale )
  fontScale= this.getFontScale();

-Initialize the class member to the stored value:

   //This is the class member ( previouslly not initialized. Now i set it´s value trough my getter )
   public float fontScale= this.getFontScale();

This way every app will initially have it´s font setted to the stored value.

ps: You should create an interface in the Android Settings apk too, otherwise your font would only start with a fixed value.

I can give more details if needed.


The Spare Parts Plus app (free) does work on my Honeycomb tablet (Asus Transformer) across all apps.

However, as is noted in your question, it only works if the developer has used a specific technique of specifying font-sizes in their application. The sizes need to be specified in "sp" units for this technique to be effective.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .