Added in API level 1

BulletSpan


open class BulletSpan : LeadingMarginSpan, ParcelableSpan
kotlin.Any
   ↳ android.text.style.BulletSpan

A span which styles paragraphs as bullet points (respecting layout direction).

BulletSpans must be attached from the first character to the last character of a single paragraph, otherwise the bullet point will not be displayed but the first paragraph encountered will have a leading margin.

BulletSpans allow configuring the following elements:

  • gap width - the distance, in pixels, between the bullet point and the paragraph. Default value is 2px.
  • color - the bullet point color. By default, the bullet point color is 0 - no color, so it uses the TextView's text color.
  • bullet radius - the radius, in pixels, of the bullet point. Default value is 4px.
For example, a BulletSpan using the default values can be constructed like this:
<code>SpannableString string = new SpannableString("Text with\nBullet point");
 string.setSpan(new BulletSpan(), 10, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);</code>
BulletSpan constructed with default values.

To construct a BulletSpan with a gap width of 40px, green bullet point and bullet radius of 20px:

<code>SpannableString string = new SpannableString("Text with\nBullet point");
 string.setSpan(new BulletSpan(40, color, 20), 10, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);</code>
Customized BulletSpan.

Summary

Constants
static Int

Public constructors

Creates a BulletSpan with the default values.

BulletSpan(gapWidth: Int)

Creates a BulletSpan based on a gap width

BulletSpan(gapWidth: Int, color: Int)

Creates a BulletSpan based on a gap width and a color integer.

BulletSpan(gapWidth: Int, color: Int, bulletRadius: Int)

Creates a BulletSpan based on a gap width and a color integer.

Creates a BulletSpan from a parcel.

Public methods
open Int

open Unit
drawLeadingMargin(canvas: Canvas, paint: Paint, x: Int, dir: Int, top: Int, baseline: Int, bottom: Int, text: CharSequence, start: Int, end: Int, first: Boolean, layout: Layout?)

Renders the leading margin.

open Int

Get the radius, in pixels, of the bullet point.

open Int

Get the bullet point color.

open Int

Get the distance, in pixels, between the bullet point and the paragraph.

open Int

open Int

open String

open Unit
writeToParcel(dest: Parcel, flags: Int)

Flatten this object in to a Parcel.

Constants

STANDARD_GAP_WIDTH

Added in API level 1
static val STANDARD_GAP_WIDTH: Int
Value: 2

Public constructors

BulletSpan

Added in API level 1
BulletSpan()

Creates a BulletSpan with the default values.

BulletSpan

Added in API level 1
BulletSpan(gapWidth: Int)

Creates a BulletSpan based on a gap width

Parameters
gapWidth Int: the distance, in pixels, between the bullet point and the paragraph.

BulletSpan

Added in API level 1
BulletSpan(
    gapWidth: Int,
    color: Int)

Creates a BulletSpan based on a gap width and a color integer.

Parameters
gapWidth Int: the distance, in pixels, between the bullet point and the paragraph.
color Int: the bullet point color, as a color integer

See Also

    BulletSpan

    Added in API level 28
    BulletSpan(
        gapWidth: Int,
        color: Int,
        bulletRadius: Int)

    Creates a BulletSpan based on a gap width and a color integer.

    Parameters
    gapWidth Int: the distance, in pixels, between the bullet point and the paragraph.
    color Int: the bullet point color, as a color integer.
    bulletRadius Int: the radius of the bullet point, in pixels. Value is 0 or greater

    See Also

      BulletSpan

      Added in API level 3
      BulletSpan(src: Parcel)

      Creates a BulletSpan from a parcel.

      Parameters
      src Parcel: This value cannot be null.

      Public methods

      describeContents

      Added in API level 3
      open fun describeContents(): Int
      Return
      Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

      drawLeadingMargin

      Added in API level 1
      open fun drawLeadingMargin(
          canvas: Canvas,
          paint: Paint,
          x: Int,
          dir: Int,
          top: Int,
          baseline: Int,
          bottom: Int,
          text: CharSequence,
          start: Int,
          end: Int,
          first: Boolean,
          layout: Layout?
      ): Unit

      Renders the leading margin. This is called before the margin has been adjusted by the value returned by getLeadingMargin(boolean).

      Parameters
      c the canvas
      p the paint. The this should be left unchanged on exit.
      x Int: the current position of the margin
      dir Int: the base direction of the paragraph; if negative, the margin is to the right of the text, otherwise it is to the left.
      top Int: the top of the line
      baseline Int: the baseline of the line
      bottom Int: the bottom of the line
      text CharSequence: This value cannot be null.
      start Int: the start of the line
      end Int: the end of the line
      first Boolean: true if this is the first line of its paragraph
      layout Layout?: This value may be null.
      canvas Canvas: This value cannot be null.
      paint Paint: This value cannot be null.

      getBulletRadius

      Added in API level 28
      open fun getBulletRadius(): Int

      Get the radius, in pixels, of the bullet point.

      Return
      Int the radius, in pixels, of the bullet point.

      getColor

      Added in API level 28
      open fun getColor(): Int

      Get the bullet point color.

      Return
      Int the bullet point color

      getGapWidth

      Added in API level 28
      open fun getGapWidth(): Int

      Get the distance, in pixels, between the bullet point and the paragraph.

      Return
      Int the distance, in pixels, between the bullet point and the paragraph.

      getLeadingMargin

      Added in API level 1
      open fun getLeadingMargin(first: Boolean): Int
      Parameters
      first Boolean: true if the request is for the first line of a paragraph, false for subsequent lines
      Return
      Int the offset for the margin.

      getSpanTypeId

      Added in API level 3
      open fun getSpanTypeId(): Int

      toString

      Added in API level 1
      open fun toString(): String
      Return
      String a string representation of the object.

      writeToParcel

      Added in API level 3
      open fun writeToParcel(
          dest: Parcel,
          flags: Int
      ): Unit

      Flatten this object in to a Parcel.

      Parameters
      dest Parcel: This value cannot be null.
      flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES