Package-level declarations

Types

Link copied to clipboard
data class AbsoluteCornerSize(val size: Float) : CornerSize

Абсолютный размер угла ShapeModel в пикселях

Link copied to clipboard
data class AdjustmentCornerSize(other: CornerSize, adjustmentPx: Float) : CornerSize

Подвид CornerSize, который умеет корректировать другие CornerSize

Link copied to clipboard
open class CornerShape(cornerFamily: ShapeModel.CornerFamily, corners: FloatArray?, tailConfig: TailConfig? = null) : RectShape

Кастомная фигура, основанная на RectShape, с возможностью скругления углов и добавления "хвоста".

Link copied to clipboard
interface CornerSize

Интерфейс, описывающий размер угла для ShapeModel

Link copied to clipboard

Константы с помощью которых определяется относительно какого параметра будет выполнятся скругление

Link copied to clipboard

Описывает Shader градиента.

Link copied to clipboard
data class RelativeCornerSize(@FloatRange(from = 0.0, to = 1.0) val percent: Float, val baseline: CornerSizeBaseline) : CornerSize

Относительный размер угла ShapeModel в процентах. Абсолютный размер рассчитывается относительно границам, в которые будет вписана форма.

Link copied to clipboard
data class ShadowLayer(val blurRadius: Float = 0.0f, val spreadRadius: Float = 0.0f, val offsetX: Float = 0.0f, val offsetY: Float = 0.0f, val color: Int = Color.BLACK, val fallbackElevation: Float? = null)

Модель описывающая стиль слоя тени

Link copied to clipboard
value class ShadowModel(val layers: Array<ShadowLayer>)

Модель, описывающая тень.

Link copied to clipboard
interface Shapeable

Интерфейс описывающий объект, который имеет ShapeModel]

Link copied to clipboard

Drawable рисующий форму согласно ShapeModel.

Link copied to clipboard
data class ShapeModel(val cornerSizeTopLeft: CornerSize = SimpleRect, val cornerSizeTopRight: CornerSize = SimpleRect, val cornerSizeBottomRight: CornerSize = SimpleRect, val cornerSizeBottomLeft: CornerSize = SimpleRect, val cornerFamily: ShapeModel.CornerFamily = CornerFamily.ROUNDED)

Модель, описывающая форму для ShapeDrawable.

Link copied to clipboard
data class TailConfig(val placement: Int = TAIL_PLACEMENT_NONE, val alignment: Int = TAIL_ALIGNMENT_START, val tailWidth: Float = 0.0f, val tailHeight: Float = 0.0f, val tailOffset: Float = 0.0f)

Конфигурация хвоста для фигуры CornerShape. Позволяет задать положение, выравнивание, размеры и смещение хвоста.

Functions

Link copied to clipboard
fun CornerSize.adjust(adjustmentPx: Float): CornerSize

Корректирует CornerSize на значение adjustmentPx.

Link copied to clipboard
fun TypedArray.getCornerSize(index: Int, baseLine: CornerSizeBaseline, default: CornerSize = AbsoluteCornerSize(0f)): CornerSize

Возвращает CornerSize для значения из TypedArray по индексу index

Link copied to clipboard

Возвращает true, если хвост располагается вначале или вконце CornerShape

Link copied to clipboard

Возвращает true, если хвост располагается сверху или снизу CornerShape

Link copied to clipboard
fun View.shapeable(attributeSet: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0): Shapeable

Возвращает для @receiver делегат Shapeable, с помощью которого можно установить ShapeModel, либо через атрибуты attributeSet, либо через Shapeable.shape.

Link copied to clipboard
fun ShapeModel.toPath(bounds: RectF, path: Path)

Добавляет ShapeModel в path