When implementing views in Android, you oftentimes want to have values that are only meant to render nicely in the layout designer.

This is where the tools: prefix comes in handy!





In the first text view you can see a text attribute (tools:text) that is only visible in the layout designer. This way, you can provide a sample text that will render nicely in the designer, but not accidentally expose sample texts in your actual application.

In the list view, the tools:listitem directive specifies a layout which the list view items should use. This way, your list views are pre-filled with sample items in the designer. If you also use the tools directives in your list item layout, the pre-filled items will use them as well.

You can use almost any android attribute and replace it with tools to have design-time attributes. In fact, if you provide attributes with both prefixes, the tools prefix is valid during design-time, while your actual android attribute is used during runtime.

You can find more information in the official documentation.