LayoutElementBuilders.Image.Builder deprecated in WearOS Tiles
11:27 29 Jan 2026

Google recently deprecated (here, here) LayoutElementBuilders.Image.Builder, which is used to display images in a WearOS Tile. I'm having trouble refactoring my code.

This is the original code:

new LayoutElementBuilders.Image.Builder()
        .setResourceId("image_play")
        .build()
        

This is how you I set "image_play":

@Override
protected ListenableFuture onTileResourcesRequest(@NonNull RequestBuilders.ResourcesRequest requestParams) {
    return Futures.immediateFuture(new ResourceBuilders.Resources.Builder()
            .setVersion(RESOURCES_VERSION)
            .addIdToImageMapping("image_play", new ResourceBuilders.ImageResource.Builder()
                    .setAndroidResourceByResId(new ResourceBuilders.AndroidImageResourceByResId.Builder()
                            .setResourceId(R.drawable.ic_action_tile_play).build()).build()
            )
            .build()
    );
}

This is my refactored code:

new LayoutElementBuilders.Image.Builder(new ProtoLayoutScope())
  .setImageResource(new ResourceBuilders.ImageResource.Builder()
        .setAndroidResourceByResId(new ResourceBuilders.AndroidImageResourceByResId.Builder()
                .setResourceId(R.drawable.ic_action_tile_play)
                .build())
        .build())
.build()

The code compiles but the image does not display in the Tile. This is the entire layout code:

return new LayoutElementBuilders.Column.Builder()
    .setHeight(DimensionBuilders.expand())
    .setHorizontalAlignment(LayoutElementBuilders.HORIZONTAL_ALIGN_CENTER)
    .addContent(
            new LayoutElementBuilders.Row.Builder()
                    .setWidth(DimensionBuilders.wrap())
                    .setHeight(DimensionBuilders.expand())
                    .setVerticalAlignment(LayoutElementBuilders.VERTICAL_ALIGN_CENTER)
                    .addContent(new LayoutElementBuilders.Image.Builder()
                            .setModifiers(new ModifiersBuilders.Modifiers.Builder()
                                    .setClickable(new ModifiersBuilders.Clickable.Builder()
                                            .setId("tile_play")
                                            .setOnClick(new ActionBuilders.LoadAction.Builder().build())
                                            .build()
                                    ).build()
                            )
                            .setResourceId("image_play")
                            .setWidth(DimensionBuilders.dp(55f))
                            .setHeight(DimensionBuilders.dp(55f)).build()
                    ).build()
    ).build();
java android wear-os wear-os-tiles