Chapter 5. Graphics

Computer graphics are used for any kind of display for which there isn’t a GUI component: charting, displaying pictures, and so on. Graphics tools are used to create GUI components as well as to draw shapes, lines, pictures, etc. Android is well provisioned for graphics, including a full implementation of OpenGL ES, a subset of OpenGL intended for smaller devices.

This chapter starts with a recipe for using a custom font for special text effects, followed by some recipes on OpenGL graphics and one 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.

5.1 Using a Custom Font

Ian Darwin


The range of fonts on Android devices is pretty small. You want something better.


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!


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 font files, as they will be downloaded with your application, increasing its size.

Your custom font’s format should be TTF or OTF (TrueType or OpenType, a TTF extension). You need to create a fonts subdirectory under ...

Get Android Cookbook, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.