LayoutElementBuilders.Image.Builder


public final class LayoutElementBuilders.Image.Builder


Builder for Image.

Summary

Public constructors

This method is deprecated.

Use Builder constructor which supports automatic resource registration, paired with setImageResource.

Creates an instance of Builder with automatic resource registration used.

Public methods

@NonNull LayoutElementBuilders.Image

Builds an instance with values accumulated in this Builder.

@NonNull LayoutElementBuilders.Image.Builder

Sets filtering parameters for this image.

@NonNull LayoutElementBuilders.Image.Builder
@RequiresSchemaVersion(major = 1, minor = 0)
setContentScaleMode(int contentScaleMode)

Sets how to scale the image resource inside the bounds specified by width/height if its size does not match those bounds.

@NonNull LayoutElementBuilders.Image.Builder

Sets how to scale the image resource inside the bounds specified by width/height if its size does not match those bounds.

@NonNull LayoutElementBuilders.Image.Builder

Sets the height of this image.

@NonNull LayoutElementBuilders.Image.Builder

Sets the specific resource of the image to render.

@NonNull LayoutElementBuilders.Image.Builder
@RequiresSchemaVersion(major = 1, minor = 0)
setImageResource(
    @NonNull ResourceBuilders.ImageResource resource,
    @NonNull String resourceId
)

Sets the specific resource of the image to render.

@NonNull LayoutElementBuilders.Image.Builder

Sets androidx.wear.protolayout.ModifiersBuilders.Modifiers for this element.

@NonNull LayoutElementBuilders.Image.Builder
@RequiresSchemaVersion(major = 1, minor = 0)
setResourceId(@NonNull String resourceId)

This method is deprecated.

Use setImageResource paired with Builder for automatic resource registration.

@NonNull LayoutElementBuilders.Image.Builder
@RequiresSchemaVersion(major = 1, minor = 0)
setResourceId(@NonNull TypeBuilders.StringProp resourceId)

This method is deprecated.

Use setImageResource paired with Builder for automatic resource registration.

@NonNull LayoutElementBuilders.Image.Builder

Sets the width of this image.

Public constructors

Builder

Added in 1.0.0
Deprecated in 1.4.0-alpha01
public Builder()

Creates an instance of Builder.

Note that, when using this constructor, it should be paired with setResourceId, and resource used for it needs to be manually registered in TileService#onTileResourcesRequest for Tiles. This constructor can't be mixed with setImageResource, otherwise an exception will be thrown.

Builder

Added in 1.4.0-alpha01
public Builder(@NonNull ProtoLayoutScope scope)

Creates an instance of Builder with automatic resource registration used.

Note that, when using this constructor, it should be paired with setImageResource. Additionally, Resources object shouldn't be provided in TileService#onTileResourcesRequest method for your Tile as resources would be automatically registered. This constructor can't be mixed with setResourceId, otherwise an exception will be thrown.

When using this constructor and automatic resource registration, there's no need to provide resources version in Tile.Builder.setResourcesVersion, as ProtoLayoutScope will handle versioning and changes of the resources automatically. However, setting custom version in Tile.Builder.setResourcesVersion is still supported.

Public methods

build

Added in 1.0.0
public @NonNull LayoutElementBuilders.Image build()

Builds an instance with values accumulated in this Builder.

setColorFilter

Added in 1.0.0
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setColorFilter(@NonNull LayoutElementBuilders.ColorFilter colorFilter)

Sets filtering parameters for this image. If not specified, defaults to no filtering.

setContentScaleMode

Added in 1.0.0
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setContentScaleMode(int contentScaleMode)

Sets how to scale the image resource inside the bounds specified by width/height if its size does not match those bounds. Defaults to CONTENT_SCALE_MODE_FIT.

setContentScaleMode

Added in 1.0.0
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setContentScaleMode(
    @NonNull LayoutElementBuilders.ContentScaleModeProp contentScaleMode
)

Sets how to scale the image resource inside the bounds specified by width/height if its size does not match those bounds. Defaults to CONTENT_SCALE_MODE_FIT.

setHeight

Added in 1.0.0
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setHeight(@NonNull DimensionBuilders.ImageDimension height)

Sets the height of this image. If not defined, the image will not be rendered.

setImageResource

Added in 1.4.0-alpha01
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setImageResource(@NonNull ResourceBuilders.ImageResource resource)

Sets the specific resource of the image to render. This method will automatically assign the ID and add the given resource in the resources bundle.

Parameters
@NonNull ResourceBuilders.ImageResource resource

An Image resource, used in the layout in the place of this Image element.

Throws
java.lang.IllegalStateException

if this method is called without Builder or after setResourceId was already called.

setImageResource

Added in 1.4.0-alpha01
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setImageResource(
    @NonNull ResourceBuilders.ImageResource resource,
    @NonNull String resourceId
)

Sets the specific resource of the image to render. This method will automatically add the given resource in the resources bundle.

Parameters
@NonNull ResourceBuilders.ImageResource resource

An Image resource, used in the layout in the place of this Image element.

@NonNull String resourceId

The ID of the resource

Throws
java.lang.IllegalStateException

if this method is called without Builder or after setResourceId was already called.

setResourceId

Added in 1.0.0
Deprecated in 1.4.0-alpha01
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setResourceId(@NonNull String resourceId)

Sets the resource_id of the image to render. This must exist in the supplied resource bundle.

Throws
java.lang.IllegalStateException

if this method is called with Builder or after setImageResource was already called.

setResourceId

Added in 1.0.0
Deprecated in 1.4.0-alpha01
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setResourceId(@NonNull TypeBuilders.StringProp resourceId)

Sets the resource_id of the image to render. This must exist in the supplied resource bundle.

Note that this field only supports static values.

Throws
java.lang.IllegalStateException

if this method is called with Builder or after setImageResource was already called.

setWidth

Added in 1.0.0
@RequiresSchemaVersion(major = 1, minor = 0)
public @NonNull LayoutElementBuilders.Image.Builder setWidth(@NonNull DimensionBuilders.ImageDimension width)

Sets the width of this image. If not defined, the image will not be rendered.