Custom Layouts Guide

Dynomaster allows you to create your own Logger layouts with your own images, text, and layout positions. The framework allows you to package your layout for easy installation on your Android device. You can even publish your layout to the Android Market. Dynomaster will automatically discover the layout and add it to your Logger layout selection list. It's a great way to personalize Dynomaster or even promote your business, club, or product.

Dynomaster uses the Android development tools and framework for creating layouts. So if you're familiar with Android development, this will be easy. But if you're new to this don't worry. It's not difficult to learn, feel free to post questions in the Developer Forum or send email to Trackaroo Support.

Click on the links below to jump to a section.


The easiest way to package and manage your files is to use the Eclipse IDE with the Google Android Development Tool plugin in.

The Eclipse IDE can be downloaded from here.

To install the Android Development Tool, follow the instructions here.

2.Layout Directory Structure

The layout directory structure uses the Android scheme. Directory naming conventions for XML layouts, images, and string resources are exactly the same.

  • res/drawable - This is where you store your images.
  • res/layout - This is where you store your XML layouts.
  • res/layout-land - This is an optional directory if you need an XML layout specific for landscape mode.
  • res/values - This is where you will store any string resources.

3.Android Manifest

Your layout will use the standard Android manifest to describe the package. In order for Dynomaster to discover your layout, you must have Dynomaster.layout.logger in the package name. For example, you could have the following for your manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""
	<application android:icon="@drawable/icon" android:label="@string/app_name">
	<uses-sdk android:minSdkVersion="4" />

The AndroidManifest.xml is located at the top level of your directory structure.

4.The Logger Layout (logger.xml)

The logger.xml file is your layout definition file. It determines how text and images are positioned. The XML elements contained in the file can be any element of the Android layout library.

In your logger.xml, you must define a layout element with ID of logger_speedo. The speedometer dial is added to this layout element.

<RelativeLayout xmlns:android=""

You can place text elements and additional images in your layout.

5.Logger Data

You can place TextView widgets in your layout that will update with real-time data such as altitude, humidity, pressure, and temperature. TextView widgets can have the following IDs:

  • logger_altitude_value - Altitude.
  • logger_pressure_value - Pressure.
  • logger_temperature_value - Temperature.
  • logger_humidity_value - Humidity.

The following is an example of a TextView widget for pressure.


6.String Resources

You may decide to have your own text in your logger layout. You could hardcode the text in your layout or you could define your text using strings.xml in the res/values directory. strings.xml serves as a lookup for your text. This is especially important if you want to support multiple languages. For example, to support Spanish, you could create a res/value-es/strings.xml with Spanish language text.

<?xml version="1.0" encoding="utf-8"?>
	<string name="app_name">Yellow Speedo</string>
	<string name="logger_altitude_title">Altitude:</string>
	<string name="logger_pressure_title">Pressure:</string>

You then reference your text with the @string reference.



The Dynomaster layout framework allows you to define your own images. You can add your own background images, logos, or other graphics. In most cases, you would use the ImageView widget to place your image in the layout. Images must be placed in the res/drawable directory. Dynomaster does expect the following images to be included by default. You may change these images, but the filenames must not change.

  • res/drawable/led_off.png - This defines the OFF state of the progress LED.
  • res/drawable/led_on.png - This defines the ON state of the progress LED.
  • res/drawable/small_led_off.png - This defines the OFF state of the run status LED.
  • res/drawable/small_led_on.png - This defines the ON state of the run status LED.
  • res/drawable/speedo_face.png - This is the speedo image and includes the face and bezel.
  • res/drawable/speedo_logo.png - This is the small Trackaroo logo that appears at the center of the speedo. Feel free to use your own.
  • res/drawable/start_button.png - This is the unpressed start button image.
  • res/drawable/start_button_pressed.png - This is the pressed state of the start button image.
  • res/drawable/start_button_blank.png - This is an overlay for the start button.
  • res/drawable/start_button_action.xml - This defines the start button states. Don't edit this unless you understand how it works.

Another thing to keep in mind when creating and adding your own image is to keep your image sizes very low. If you add too many images or images that are too large, some devices with less memory will have memory errors.

8.Import a Project

The easiest way to get started is to import the following example layout project into Eclipse. Then you can customize it as you like.

Download Blue Speedo Eclipse Project

Follow the next steps to import the example project:

  1. Download and extract the example project to your Eclipse workspace.
  2. In Eclipse, select File > Import...
  3. Select Existing Project.
  4. Select your workspace directory.
  5. Select the example project.
  6. Click Finish.
  7. Right-click on the new project and select Refactor > Rename.
  8. Rename the project.
  9. Edit the AndroidManifest.xml to change the package name and application name (app_name).
  10. Start creating your layout!

9.Install a Layout

To install your layout, plug in your device via USB and make sure it is set for debuggable. Right-click on your project and select Run As > Android Application. This will install the layout on your device.

10.Android Market

You can publish your layout to Android Market. In fact, you can even charge a fee for it. Publishing your layout to the market is exactly the same as publishing a full application. Read the Google documentation here on how to publish to the Android Market.

11.Additional Resources

If you have any questions, please post to the Developer Forum or send email to Trackaroo Support. You may also find the following links useful: