Android 12 Developer Preview is here! Try it out, and give us your feedback!

RowBuilder

open class RowBuilder
kotlin.Any
   ↳ androidx.slice.builders.ListBuilder.RowBuilder

Builder to construct a row. A row can be added as an item to ListBuilder via ListBuilder#addRow(RowBuilder).

A row supports:

  • Title item - The title item can be a timestamp, image, or a SliceAction. It appears with at the start of the row. There can only be one title item added to a row.
  • Title - Single line of text formatted as a title, see setTitle(CharSequence).
  • Subtitle - Single line of text below the title (if one exists) and is formatted as normal text, see setSubtitle(CharSequence).
  • End item - End items appear at the end of the row. There can be multiple end items that show depending on available width. End items can be a timestamp, image, or a tappable icon.
  • Primary action - The primary action for the row, this is the action that will be sent when the row is clicked. This is set via setPrimaryAction(SliceAction). If this is the only row or first row of the slice, then the action set here will be used to represent the slice shown in androidx.slice.widget.SliceView#MODE_SMALL.
There are a couple of restrictions to how content can be added to a row:
  • End items cannot contain a mixture of SliceActions and Icons.
  • There can only be one timestamp added to the row.

Summary

Public constructors

Builder to construct a row.

<init>(@NonNull uri: Uri)

Builder to construct a normal row.

Public methods
open ListBuilder.RowBuilder
addEndItem(timeStamp: Long)

Adds a timestamp to the end items of the row builder.

open ListBuilder.RowBuilder
addEndItem(@NonNull icon: IconCompat, imageMode: Int)

Adds an icon to the end items of the row builder.

open ListBuilder.RowBuilder
addEndItem(@Nullable icon: IconCompat?, imageMode: Int, isLoading: Boolean)

Adds an icon to the end items of the row builder.

open ListBuilder.RowBuilder
addEndItem(@NonNull action: SliceAction)

Adds an action to the end items of the row builder.

open ListBuilder.RowBuilder
addEndItem(@NonNull action: SliceAction, isLoading: Boolean)

Adds an action to the end items of the row builder.

open ListBuilder.RowBuilder
setContentDescription(@NonNull description: CharSequence)

Sets the content description for the row.

open ListBuilder.RowBuilder
setEndOfSection(isEndOfSection: Boolean)

Indicate that this row is an end for a section.

open ListBuilder.RowBuilder
setLayoutDirection(layoutDirection: Int)

Sets the desired layout direction for the content in this row.

open ListBuilder.RowBuilder
setPrimaryAction(@NonNull action: SliceAction)

The action specified here will be sent when the whole row is clicked.

open ListBuilder.RowBuilder
setSubtitle(@NonNull subtitle: CharSequence)

Sets the subtitle for the row builder.

open ListBuilder.RowBuilder
setSubtitle(@Nullable subtitle: CharSequence?, isLoading: Boolean)

Sets the subtitle for the row builder.

open ListBuilder.RowBuilder
setTitle(@NonNull title: CharSequence)

Sets the title for the row builder.

open ListBuilder.RowBuilder
setTitle(@Nullable title: CharSequence?, isLoading: Boolean)

Sets the title for the row builder.

open ListBuilder.RowBuilder
setTitleItem(timeStamp: Long)

Sets the title item to be the provided timestamp.

open ListBuilder.RowBuilder
setTitleItem(@NonNull icon: IconCompat, imageMode: Int)

Sets the title item to be the provided icon.

open ListBuilder.RowBuilder
setTitleItem(@Nullable icon: IconCompat?, imageMode: Int, isLoading: Boolean)

Sets the title item to be the provided icon.

open ListBuilder.RowBuilder
setTitleItem(@NonNull action: SliceAction)

Sets the title item to be a tappable icon.

open ListBuilder.RowBuilder
setTitleItem(@NonNull action: SliceAction, isLoading: Boolean)

Sets the title item to be a tappable icon.

Public constructors

<init>

RowBuilder()

Builder to construct a row.

<init>

RowBuilder(@NonNull uri: Uri)

Builder to construct a normal row.

Parameters
uri Uri