O'Reilly logo

Android Cookbook by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. Graphics

6.1. Introduction: Graphics

Ian Darwin

Discussion

Computer graphics are any kind of display for which there isn’t a GUI component: charting, displaying pictures, and so on. Android is well provisioned for graphics, including a full implementation of OpenGL EL, a subset of OpenGL intended for smaller devices.

The chapter starts with a recipe for using a custom font for special text effects, then some recipes on GL graphics proper, and a note on graphical “touch” input. From there we continue the input theme with various image capture techniques. Then we have some recipes on graphics files, and one to round out the chapter discussing “pinch to zoom,” using user touch input to scale graphical output.

6.2. Using a Custom Font

Ian Darwin

Problem

The range of fonts that comes with Android 2.x is amazingly minuscule—three variants of the “Droid” font. You want something better.

Solution

Install a TTF or OTF version of your font in assets/fonts (creating this directory if necessary). In your code, create a typeface from the “asset” and call the View’s setTypeface() method. You’re done!

Discussion

You can provide one or more fonts with your application. We have not yet discovered a documented way to install system-wide fonts. Beware of huge fonts, as they will be downloaded with your application, increasing its size.

Your custom font’s format should be TTF or OTF (TrueType or OpenTypeFace, a TTF extension). You need to create the fonts subdirectory under assets in your project, and ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required