Lista de extensiones de KTX

androidx.activity

Dependencia

Groovy

dependencies {
    implementation "androidx.activity:activity-ktx:1.9.2"
}

Kotlin

dependencies {
    implementation("androidx.activity:activity-ktx:1.9.2")
}

Funciones de extensión

Para OnBackPressedDispatcher
OnBackPressedCallback OnBackPressedDispatcher.addCallback(owner: LifecycleOwner? = null, enabled: Boolean = true, onBackPressed: OnBackPressedCallback.() -> Unit)

Crea y agrega una OnBackPressedCallback nueva que llame a onBackPressed en OnBackPressedCallback.handleOnBackPressed.

Para ComponentActivity
Lazy<VM> ComponentActivity.viewModels(noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Muestra un delegado Lazy para acceder al ViewModel de ComponentActivity. Si se especifica factoryProducer, el ViewModelProvider.Factory que se muestre se utilizará para crear ViewModel por primera vez.

androidx.benchmark

Dependencia

Groovy

dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.3.0"
}

Kotlin

dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.3.0")
}

Funciones de nivel superior

Unit beginTraceSection(sectionName: String)

Unit endTraceSection()

androidx.benchmark.junit4

Dependencia

Groovy

dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.3.0"
}

Kotlin

dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.3.0")
}

Funciones de extensión

Para BenchmarkRule
Unit BenchmarkRule.measureRepeated(crossinline block: BenchmarkRule.Scope.() -> Unit)

Realiza una comparativa de un bloque de código.

androidx.collection

Dependencia

Groovy

dependencies {
    implementation "androidx.collection:collection-ktx:1.4.5"
}

Kotlin

dependencies {
    implementation("androidx.collection:collection-ktx:1.4.5")
}

Funciones de extensión

Para LongSparseArray
operator Boolean LongSparseArray<T>.contains(key: Long)

Muestra true si la colección contiene key.

Unit LongSparseArray<T>.forEach(action: (key: Long, value: T) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

T LongSparseArray<T>.getOrDefault(key: Long, defaultValue: T)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

T LongSparseArray<T>.getOrElse(key: Long, defaultValue: () -> T)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean LongSparseArray<T>.isNotEmpty()

Muestra true cuando la colección contiene elementos.

LongIterator LongSparseArray<T>.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator LongSparseArray<T> LongSparseArray<T>.plus(other: LongSparseArray<T>)

Agrega o reemplaza entradas de other para crear una colección nueva.

Boolean LongSparseArray<T>.remove(key: Long, value: T)

Quita la entrada de key solo si está asignada a value.

operator Unit LongSparseArray<T>.set(key: Long, value: T)

Permite usar el operador de índice para almacenar valores en la colección.

Iterator<T> LongSparseArray<T>.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para SparseArrayCompat
operator Boolean SparseArrayCompat<T>.contains(key: Int)

Muestra true si la colección contiene key.

Unit SparseArrayCompat<T>.forEach(action: (key: Int, value: T) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

T SparseArrayCompat<T>.getOrDefault(key: Int, defaultValue: T)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

T SparseArrayCompat<T>.getOrElse(key: Int, defaultValue: () -> T)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean SparseArrayCompat<T>.isNotEmpty()

Muestra true cuando la colección contiene elementos.

IntIterator SparseArrayCompat<T>.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator SparseArrayCompat<T> SparseArrayCompat<T>.plus(other: SparseArrayCompat<T>)

Agrega o reemplaza entradas de other para crear una colección nueva.

Boolean SparseArrayCompat<T>.remove(key: Int, value: T)

Quita la entrada de key solo si está asignada a value.

operator Unit SparseArrayCompat<T>.set(key: Int, value: T)

Permite usar el operador de índice para almacenar valores en la colección.

Iterator<T> SparseArrayCompat<T>.valueIterator()

Muestra un iterador sobre los valores de la colección.

Propiedades de extensión

Para LongSparseArray
Int LongSparseArray<T>.size()

Muestra la cantidad de pares clave-valor en la colección.

Para SparseArrayCompat
Int SparseArrayCompat<T>.size()

Muestra la cantidad de pares clave-valor en la colección.

Funciones de nivel superior

ArrayMap<K, V> arrayMapOf()

Muestra un ArrayMap nuevo y vacío.

ArrayMap<K, V> arrayMapOf(vararg pairs: Pair<K, V>)

Muestra un ArrayMap nuevo con el contenido especificado, que se proporciona como una lista de pares en la que el primer componente es la clave y el segundo es el valor.

ArraySet<T> arraySetOf()

Muestra un ArraySet nuevo y vacío.

ArraySet<T> arraySetOf(vararg values: T)

Muestra un ArraySet nuevo con el contenido especificado.

LruCache<K, V> lruCache(maxSize: Int, crossinline sizeOf: (key: K, value: V) -> Int = { _, _ -> 1 }, crossinline create: (key: K) -> V? = { null as V? }, crossinline onEntryRemoved: (evicted: Boolean, key: K, oldValue: V, newValue: V?) -> Unit = { _, _, _, _ -> })

Crea una LruCache con los parámetros especificados.

androidx.core.animation

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.animation.Animator
AnimatorListener Animator.addListener(crossinline onEnd: (animator: Animator) -> Unit = {}, crossinline onStart: (animator: Animator) -> Unit = {}, crossinline onCancel: (animator: Animator) -> Unit = {}, crossinline onRepeat: (animator: Animator) -> Unit = {})

Agrega un objeto de escucha a este Animator mediante las acciones proporcionadas.

AnimatorPauseListener Animator.addPauseListener(crossinline onResume: (animator: Animator) -> Unit = {}, crossinline onPause: (animator: Animator) -> Unit = {})

Agrega una pausa y reanuda el objeto de escucha de este Animator mediante las acciones proporcionadas.

AnimatorListener Animator.doOnCancel(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando se haya cancelado la animación.

AnimatorListener Animator.doOnEnd(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando haya finalizado la animación.

AnimatorPauseListener Animator.doOnPause(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando se haya pausado la animación.

AnimatorListener Animator.doOnRepeat(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando se repita la animación.

AnimatorPauseListener Animator.doOnResume(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando se reanude la animación después de una pausa.

AnimatorListener Animator.doOnStart(crossinline action: (animator: Animator) -> Unit)

Agrega una acción que se invocará cuando haya comenzado la animación.

androidx.core.content

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.content.Context
T? Context.getSystemService()

Muestra el controlador de un servicio a nivel del sistema por clase.

Unit Context.withStyledAttributes(set: AttributeSet? = null, attrs: IntArray, @AttrRes defStyleAttr: Int = 0, @StyleRes defStyleRes: Int = 0, block: TypedArray.() -> Unit)

Ejecuta block en un receptor TypedArray.

Unit Context.withStyledAttributes(@StyleRes resourceId: Int, attrs: IntArray, block: TypedArray.() -> Unit)

Ejecuta block en un receptor TypedArray.

Para android.content.SharedPreferences
Unit SharedPreferences.edit(commit: Boolean = false, action: Editor.() -> Unit)

Permite editar esta instancia de preferencia con una llamada a apply o commit para conservar los cambios.

Funciones de nivel superior

ContentValues contentValuesOf(vararg pairs: Pair<String, Any?>)

Muestra ContentValues nuevos con los pares clave-valor especificados como elementos.

androidx.core.content.res

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.content.res.TypedArray
Boolean TypedArray.getBooleanOrThrow(@StyleableRes index: Int)

Muestra el valor booleano del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getColorOrThrow(@StyleableRes index: Int)

Recupera el valor de color del atributo en index o arroja IllegalArgumentException si no está definido.

ColorStateList TypedArray.getColorStateListOrThrow(@StyleableRes index: Int)

Recupera el valor de lista de estado correspondiente al color del atributo en index o arroja IllegalArgumentException si no está definido.

Float TypedArray.getDimensionOrThrow(@StyleableRes index: Int)

Recupera el valor de dimensión del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getDimensionPixelOffsetOrThrow(@StyleableRes index: Int)

Recupera el valor de compensación del pixel de dimensión del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getDimensionPixelSizeOrThrow(@StyleableRes index: Int)

Recupera el valor de tamaño del píxel de dimensión del atributo en index o arroja IllegalArgumentException si no está definido.

Drawable TypedArray.getDrawableOrThrow(@StyleableRes index: Int)

Recupera el valor del elemento de diseño del atributo en index o arroja IllegalArgumentException si no está definido.

Float TypedArray.getFloatOrThrow(@StyleableRes index: Int)

Recupera el valor flotante del atributo en index o arroja IllegalArgumentException si no está definido.

Typeface TypedArray.getFontOrThrow(@StyleableRes index: Int)

Recupera el valor de fuente del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getIntOrThrow(@StyleableRes index: Int)

Recupera el valor entero del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getIntegerOrThrow(@StyleableRes index: Int)

Recupera el valor entero del atributo en index o arroja IllegalArgumentException si no está definido.

Int TypedArray.getResourceIdOrThrow(@StyleableRes index: Int)

Recupera el identificador de recurso del atributo en index o arroja IllegalArgumentException si no está definido.

String TypedArray.getStringOrThrow(@StyleableRes index: Int)

Recupera el valor de string del atributo en index o arroja IllegalArgumentException si no está definido.

Array<CharSequence> TypedArray.getTextArrayOrThrow(@StyleableRes index: Int)

Recupera el valor del arreglo de texto del atributo en index o arroja IllegalArgumentException si no está definido.

CharSequence TypedArray.getTextOrThrow(@StyleableRes index: Int)

Recupera el valor de texto del atributo en index o arroja IllegalArgumentException si no está definido.

R TypedArray.use(block: (TypedArray) -> R)

Ejecuta la función block especificada en este TypedArray y, luego, la recicla.

androidx.core.database

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.database.Cursor
ByteArray? Cursor.getBlobOrNull(index: Int)

Muestra el valor de la columna solicitada como un arreglo de bytes anulable.

Double? Cursor.getDoubleOrNull(index: Int)

Muestra el valor de la columna solicitada como un valor doble anulable.

Float? Cursor.getFloatOrNull(index: Int)

Muestra el valor de la columna solicitada como un valor flotante anulable.

Int? Cursor.getIntOrNull(index: Int)

Muestra el valor de la columna solicitada como un valor entero anulable.

Long? Cursor.getLongOrNull(index: Int)

Muestra el valor de la columna solicitada como un valor long anulable.

Short? Cursor.getShortOrNull(index: Int)

Muestra el valor de la columna solicitada como un valor short anulable.

String? Cursor.getStringOrNull(index: Int)

Muestra el valor de la columna solicitada como una string anulable.

androidx.core.database.sqlite

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.database.sqlite.SQLiteDatabase
T SQLiteDatabase.transaction(exclusive: Boolean = true, body: SQLiteDatabase.() -> T)

Ejecuta body en una transacción para marcarla como correcta si se completa sin excepciones.

androidx.core.graphics

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.graphics.Bitmap
Bitmap Bitmap.applyCanvas(block: Canvas.() -> Unit)

Crea un Canvas nuevo para dibujar en este mapa de bits y ejecuta el block especificado en el lienzo recién creado.

operator Boolean Bitmap.contains(p: Point)

Muestra true si el punto especificado está dentro del mapa de bits.

operator Boolean Bitmap.contains(p: PointF)

Muestra true si el punto especificado está dentro del mapa de bits.

operator Int Bitmap.get(x: Int, y: Int)

Muestra el valor del píxel en la ubicación especificada.

Bitmap Bitmap.scale(width: Int, height: Int, filter: Boolean = true)

Si es posible, crea un mapa de bits nuevo a partir del mapa de bits actual.

operator Unit Bitmap.set(x: Int, y: Int, color: Int)

Escribe el color int especificado en el mapa de bits (asumiendo que sea mutable) en la coordenada de (x, y) especificada.

Para android.graphics.Canvas
Unit Canvas.withClip(clipRect: Rect, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.clipRect y Canvas.restoreToCount.

Unit Canvas.withClip(clipRect: RectF, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.clipRect y Canvas.restoreToCount.

Unit Canvas.withClip(left: Int, top: Int, right: Int, bottom: Int, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.clipRect y Canvas.restoreToCount.

Unit Canvas.withClip(left: Float, top: Float, right: Float, bottom: Float, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.clipRect y Canvas.restoreToCount.

Unit Canvas.withClip(clipPath: Path, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.clipPath y Canvas.restoreToCount.

Unit Canvas.withMatrix(matrix: Matrix = Matrix(), block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.concat y Canvas.restoreToCount.

Unit Canvas.withRotation(degrees: Float = 0.0f, pivotX: Float = 0.0f, pivotY: Float = 0.0f, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.rotate y Canvas.restoreToCount.

Unit Canvas.withSave(block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save y Canvas.restoreToCount.

Unit Canvas.withScale(x: Float = 1.0f, y: Float = 1.0f, pivotX: Float = 0.0f, pivotY: Float = 0.0f, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.scale y Canvas.restoreToCount.

Unit Canvas.withSkew(x: Float = 0.0f, y: Float = 0.0f, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.skew y Canvas.restoreToCount.

Unit Canvas.withTranslation(x: Float = 0.0f, y: Float = 0.0f, block: Canvas.() -> Unit)

Une el block especificado en las llamadas a Canvas.save/Canvas.translate y Canvas.restoreToCount.

Para android.graphics.Color
operator Float Color.component1()

Muestra el primer componente del color.

operator Float Color.component2()

Muestra el segundo componente del color.

operator Float Color.component3()

Muestra el tercer componente del color.

operator Float Color.component4()

Muestra el cuarto componente del color.

infix Color! Color.convertTo(colorSpace: Named)

Convierte el receptor de color en un color dentro del espacio correspondiente especificado.

infix Color! Color.convertTo(colorSpace: ColorSpace)

Convierte el receptor de color en un color dentro del espacio correspondiente especificado.

operator Color Color.plus(c: Color)

Combina dos colores translúcidos.

Para android.graphics.ImageDecoder.Source
Bitmap Source.decodeBitmap(crossinline action: ImageDecoder.(info: ImageInfo, source: Source) -> Unit)

Crear un mapa de bits a partir de una fuente

Drawable Source.decodeDrawable(crossinline action: ImageDecoder.(info: ImageInfo, source: Source) -> Unit)

Crear un elemento de diseño a partir de una fuente

Para android.graphics.Matrix
operator Matrix Matrix.times(m: Matrix)

Multiplica esta Matrix por otra matriz y muestra el resultado como una matriz nueva.

FloatArray Matrix.values()

Muestra los 9 valores de esta Matrix como un arreglo de valores flotantes nuevo.

Para android.graphics.Paint
Boolean Paint.setBlendMode(blendModeCompat: BlendModeCompat?)

Método de conveniencia para configurar el BlendMode de Paint de manera retrocompatible.

Para android.graphics.Path
infix Path Path.and(p: Path)

Muestra la intersección de dos rutas de acceso como una Path nueva.

Iterable<PathSegment> Path.flatten(error: Float = 0.5f)

Aplana (o aproxima) la Path con una serie de segmentos de línea.

operator Path Path.minus(p: Path)

Muestra la diferencia de dos rutas de acceso como una Path nueva.

infix Path Path.or(p: Path)

Muestra la unión de dos rutas de acceso como una Path nueva.

operator Path Path.plus(p: Path)

Muestra la unión de dos rutas de acceso como una Path nueva.

infix Path Path.xor(p: Path)

Muestra la unión menos la intersección de dos rutas de acceso como una Path nueva.

Para android.graphics.Picture
Picture Picture.record(width: Int, height: Int, block: Canvas.() -> Unit)

Crea un Canvas nuevo para grabar comandos en esta Picture, ejecuta el block especificado en el lienzo recién creado y muestra esta Picture.

Para android.graphics.Point
operator Int Point.component1()

Muestra la coordenada X de este punto.

operator Int Point.component2()

Muestra la coordenada Y de este punto.

operator Point Point.minus(p: Point)

Compensa este punto por la negación del punto especificado y muestra el resultado como un punto nuevo.

operator Point Point.minus(xy: Int)

Compensa este punto por la negación de la cantidad especificada en los ejes X e Y, y muestra el resultado como un punto nuevo.

operator Point Point.plus(p: Point)

Compensa este punto por el punto especificado y muestra el resultado como un punto nuevo.

operator Point Point.plus(xy: Int)

Compensa este punto por la cantidad especificada en los ejes X e Y, y muestra el resultado como un punto nuevo.

PointF Point.toPointF()

Muestra una representación PointF de este punto.

operator Point Point.unaryMinus()

Muestra un punto nuevo que representa la negación de este punto.

Para android.graphics.PointF
operator Float PointF.component1()

Muestra la coordenada X de este punto.

operator Float PointF.component2()

Muestra la coordenada Y de este punto.

operator PointF PointF.minus(p: PointF)

Compensa este punto por la negación del punto especificado y muestra el resultado como un punto nuevo.

operator PointF PointF.minus(xy: Float)

Compensa este punto por la negación de la cantidad especificada en los ejes X e Y, y muestra el resultado como un punto nuevo.

operator PointF PointF.plus(p: PointF)

Compensa este punto por el punto especificado y muestra el resultado como un punto nuevo.

operator PointF PointF.plus(xy: Float)

Compensa este punto por la cantidad especificada en los ejes X e Y, y muestra el resultado como un punto nuevo.

Point PointF.toPoint()

Muestra una representación de Point de este punto.

operator PointF PointF.unaryMinus()

Muestra un punto nuevo que representa la negación de este punto.

Para android.graphics.PorterDuff.Mode
PorterDuffColorFilter Mode.toColorFilter(color: Int)

Crea un PorterDuffColorFilter nuevo que usa este PorterDuff.Mode como el modo de composición o combinación alfa, y el color especificado.

PorterDuffXfermode Mode.toXfermode()

Crea un PorterDuffXfermode nuevo que usa este PorterDuff.Mode como el modo de composición o combinación alfa.

Para android.graphics.Rect
infix Rect Rect.and(r: Rect)

Muestra la intersección de dos rectángulos como un rectángulo nuevo.

operator Int Rect.component1()

Muestra "left", el primer componente del rectángulo.

operator Int Rect.component2()

Muestra "top", el segundo componente del rectángulo.

operator Int Rect.component3()

Muestra "right", el tercer componente del rectángulo.

operator Int Rect.component4()

Muestra "bottom", el cuarto componente del rectángulo.

operator Boolean Rect.contains(p: Point)

Muestra true si el punto especificado está dentro del rectángulo.

operator Region Rect.minus(r: Rect)

Muestra la diferencia entre este rectángulo y el rectángulo especificado como una región nueva.

operator Rect Rect.minus(xy: Int)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la negación de la cantidad especificada en los ejes X e Y.

operator Rect Rect.minus(xy: Point)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la negación del punto especificado.

infix Rect Rect.or(r: Rect)

Muestra la unión de dos rectángulos como un rectángulo nuevo.

operator Rect Rect.plus(r: Rect)

Realiza la unión de este rectángulo con el rectángulo especificado y muestra el resultado como un rectángulo nuevo.

operator Rect Rect.plus(xy: Int)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la cantidad especificada en los ejes X e Y.

operator Rect Rect.plus(xy: Point)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por el punto especificado.

operator Rect Rect.times(factor: Int)

Muestra un rectángulo nuevo que representa los componentes de este rectángulo, cada uno escalado por factor.

RectF Rect.toRectF()

Muestra una representación RectF de este rectángulo.

Region Rect.toRegion()

Muestra una representación de Region de este rectángulo.

infix Region Rect.xor(r: Rect)

Muestra la unión menos la intersección de dos rectángulos como una región nueva.

Para android.graphics.RectF
infix RectF RectF.and(r: RectF)

Muestra la intersección de dos rectángulos como un rectángulo nuevo.

operator Float RectF.component1()

Muestra "left", el primer componente del rectángulo.

operator Float RectF.component2()

Muestra "top", el segundo componente del rectángulo.

operator Float RectF.component3()

Muestra "right", el tercer componente del rectángulo.

operator Float RectF.component4()

Muestra "bottom", el cuarto componente del rectángulo.

operator Boolean RectF.contains(p: PointF)

Muestra true si el punto especificado está dentro del rectángulo.

operator Region RectF.minus(r: RectF)

Muestra la diferencia entre este rectángulo y el rectángulo especificado como una región nueva.

operator RectF RectF.minus(xy: Float)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la negación de la cantidad especificada en los ejes X e Y.

operator RectF RectF.minus(xy: PointF)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la negación del punto especificado.

infix RectF RectF.or(r: RectF)

Muestra la unión de dos rectángulos como un rectángulo nuevo.

operator RectF RectF.plus(r: RectF)

Realiza la unión de este rectángulo con el rectángulo especificado y muestra el resultado como un rectángulo nuevo.

operator RectF RectF.plus(xy: Float)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por la cantidad especificada en los ejes X e Y.

operator RectF RectF.plus(xy: PointF)

Muestra un rectángulo nuevo que representa el desplazamiento de este rectángulo por el punto especificado.

operator RectF RectF.times(factor: Int)

Muestra un rectángulo nuevo que representa los componentes de este rectángulo, cada uno escalado por factor.

operator RectF RectF.times(factor: Float)

Muestra un rectángulo nuevo que representa los componentes de este rectángulo, cada uno escalado por factor.

Rect RectF.toRect()

Muestra una representación Rect de este rectángulo.

Region RectF.toRegion()

Muestra una representación de Region de este rectángulo.

RectF RectF.transform(m: Matrix)

Transforma este rectángulo en su lugar con la Matrix proporcionada y muestra este rectángulo.

infix Region RectF.xor(r: RectF)

Muestra la unión menos la intersección de dos rectángulos como una región nueva.

Para android.graphics.Region
infix Region Region.and(r: Rect)

Muestra la intersección de esta región y el Rect especificado como una región nueva.

infix Region Region.and(r: Region)

Muestra la intersección de esta región y la región especificada como una región nueva.

operator Boolean Region.contains(p: Point)

Muestra true si la región contiene el Point especificado.

Unit Region.forEach(action: (rect: Rect) -> Unit)

Realiza la acción determinada en cada rectángulo en esta región.

operator Iterator<Rect> Region.iterator()

Muestra un iterator sobre las rectas en esta región.

operator Region Region.minus(r: Rect)

Muestra la diferencia entre esta región y el Rect especificado como una región nueva.

operator Region Region.minus(r: Region)

Muestra la diferencia entre esta región y la región especificada como una región nueva.

operator Region Region.not()

Muestra la negación de esta región como una región nueva.

infix Region Region.or(r: Rect)

Muestra la unión de esta región y el Rect especificado como una región nueva.

infix Region Region.or(r: Region)

Muestra la unión de esta región y la región especificada como una región nueva.

operator Region Region.plus(r: Rect)

Muestra la unión de esta región y el Rect especificado como una región nueva.

operator Region Region.plus(r: Region)

Muestra la unión de esta región y la región especificada como una región nueva.

operator Region Region.unaryMinus()

Muestra la negación de esta región como una región nueva.

infix Region Region.xor(r: Rect)

Muestra la unión menos la intersección de esta región y el Rect especificado como una región nueva.

infix Region Region.xor(r: Region)

Muestra la unión menos la intersección de esta región y la región especificada como una región nueva.

Para android.graphics.Shader
Unit Shader.transform(block: Matrix.() -> Unit)

Une el block especificado en llamadas a Shader.getLocalMatrix y Shader.setLocalMatrix.

Para kotlin.Int
operator Int Int.component1()

Muestra el componente alfa de un int de color.

operator Int Int.component2()

Muestra el componente rojo de un color int.

operator Int Int.component3()

Muestra el componente verde de un color int.

operator Int Int.component4()

Muestra el componente azul de un color int.

infix Long Int.convertTo(colorSpace: Named)

Convierte el receptor int de color en un long de color en el espacio de color especificado.

infix Long Int.convertTo(colorSpace: ColorSpace)

Convierte el receptor int de color en un long de color en el espacio de color especificado.

Color Int.toColor()

Crea una instancia de Color nueva a partir de un int de color.

Long Int.toColorLong()

Convierte el color int de ARGB especificado en un color long de RGBA en el espacio de color sRGB.

Para kotlin.Long
operator Float Long.component1()

Muestra el primer componente del color.

operator Float Long.component2()

Muestra el segundo componente del color.

operator Float Long.component3()

Muestra el tercer componente del color.

operator Float Long.component4()

Muestra el cuarto componente del color.

infix Long Long.convertTo(colorSpace: Named)

Convierte el receptor color long en un color long en el espacio de color especificado.

infix Long Long.convertTo(colorSpace: ColorSpace)

Convierte el receptor color long en un color long en el espacio de color especificado.

Color Long.toColor()

Crea una instancia de Color nueva a partir de un color long.

Int Long.toColorInt()

Convierte el color long especificado en un color int de ARGB.

Para kotlin.String
Int String.toColorInt()

Muestra un color Int correspondiente de esta String.

Propiedades de extensión

Para kotlin.Int
Int Int.alpha()

Muestra el componente alfa de un int de color.

Int Int.blue()

Muestra el componente azul de un color int.

Int Int.green()

Muestra el componente verde de un color int.

Float Int.luminance()

Muestra la luminancia relativa de un color int, suponiendo que se trata de una codificación sRGB.

Int Int.red()

Muestra el componente rojo de un color int.

Para kotlin.Long
Float Long.alpha()

Muestra el componente alfa de un color long.

Float Long.blue()

Muestra el componente azul de un color long.

ColorSpace Long.colorSpace()

Muestra el espacio de color codificado en el color long especificado.

Float Long.green()

Muestra el componente verde de un color long.

Boolean Long.isSrgb()

Indica si el color está en el espacio de color sRGB.

Boolean Long.isWideGamut()

Indica si el color está en un espacio de color wide-gamut.

Float Long.luminance()

Muestra la luminancia relativa de un color.

Float Long.red()

Muestra el componente rojo de un color long.

Funciones de nivel superior

Bitmap createBitmap(width: Int, height: Int, config: Config = Bitmap.Config.ARGB_8888)

Muestra un mapa de bits mutable con los elementos width y height especificados.

Bitmap createBitmap(width: Int, height: Int, config: Config = Bitmap.Config.ARGB_8888, hasAlpha: Boolean = true, colorSpace: ColorSpace = ColorSpace.get(ColorSpace.Named.SRGB))

Muestra un mapa de bits mutable con los elementos width y height especificados.

Matrix rotationMatrix(degrees: Float, px: Float = 0.0f, py: Float = 0.0f)

Crea una matriz de rotación, definida por un ángulo de rotación en grados alrededor del punto de giro ubicado en las coordenadas (px, py).

Matrix scaleMatrix(sx: Float = 1.0f, sy: Float = 1.0f)

Crea una matriz de escala con el factor de escala sx y sy, respectivamente, en los ejes x e y.

Matrix translationMatrix(tx: Float = 0.0f, ty: Float = 0.0f)

Crea una matriz de traducción con las cantidades de traducción tx y ty, respectivamente, en los ejes x e y.

androidx.core.graphics.drawable

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.graphics.Bitmap
Icon Bitmap.toAdaptiveIcon()

Crea un Icon a partir de este Bitmap adaptable.

BitmapDrawable Bitmap.toDrawable(resources: Resources)

Crea un BitmapDrawable a partir de este Bitmap.

Icon Bitmap.toIcon()

Crea un Icon a partir de este Bitmap.

Para android.graphics.Color
ColorDrawable Color.toDrawable()

Crea un ColorDrawable a partir de este Color (a través de Color.toArgb).

Para android.graphics.drawable.Drawable
Bitmap Drawable.toBitmap(@Px width: Int = intrinsicWidth, @Px height: Int = intrinsicHeight, config: Config? = null)

Muestra una representación de Bitmap de este Drawable.

Unit Drawable.updateBounds(@Px left: Int = bounds.left, @Px top: Int = bounds.top, @Px right: Int = bounds.right, @Px bottom: Int = bounds.bottom)

Actualiza los límites de este elemento de diseño.

Para android.net.Uri
Icon Uri.toIcon()

Crea un Icon a partir de este URI.

Para kotlin.ByteArray
Icon ByteArray.toIcon()

Crea un Icon a partir de este ByteArray.

Para kotlin.Int
ColorDrawable Int.toDrawable()

Crea un ColorDrawable a partir de este valor de color.

androidx.core.location

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.location.Location
operator Double Location.component1()

Muestra la latitud de esta Location.

operator Double Location.component2()

Muestra la longitud de esta Location.

androidx.core.net

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.net.Uri
File Uri.toFile()

Crea un File a partir del URI especificado.

Para java.io.File
Uri File.toUri()

Crea un Uri a partir del archivo determinado.

Para kotlin.String
Uri String.toUri()

Crea un Uri a partir de la string de URI codificada especificada.

androidx.core.os

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.os.Handler
Runnable Handler.postAtTime(uptimeMillis: Long, token: Any? = null, crossinline action: () -> Unit)

Es una versión de Handler.postAtTime que reordena los parámetros, lo que permite que la acción se coloque fuera de paréntesis.

Runnable Handler.postDelayed(delayInMillis: Long, token: Any? = null, crossinline action: () -> Unit)

Es una versión de Handler.postDelayed que reordena los parámetros, lo que permite que la acción se coloque fuera de paréntesis.

Funciones de nivel superior

Bundle bundleOf(vararg pairs: Pair<String, Any?>)

Muestra un Bundle nuevo con los pares clave-valor especificados como elementos.

PersistableBundle persistableBundleOf(vararg pairs: Pair<String, Any?>)

Muestra un PersistableBundle nuevo con los pares clave-valor especificados como elementos.

T trace(sectionName: String, block: () -> T)

Ajusta el block especificado en llamadas a Trace.beginSection (con el sectionName proporcionado) y Trace.endSection.

androidx.core.text

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.text.Spannable
Unit Spannable.clearSpans()

Borra todos los intervalos de este texto.

operator Unit Spannable.set(start: Int, end: Int, span: Any)

Agrega span al rango start&hellip;end del texto.

operator Unit Spannable.set(range: IntRange, span: Any)

Agrega span al range del texto.

Para android.text.SpannableStringBuilder
SpannableStringBuilder SpannableStringBuilder.backgroundColor(color: Int, builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un BackgroundColorSpan.

SpannableStringBuilder SpannableStringBuilder.bold(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un StyleSpan en negrita.

SpannableStringBuilder SpannableStringBuilder.color(color: Int, builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un ForegroundColorSpan.

SpannableStringBuilder SpannableStringBuilder.inSpans(vararg spans: Any, builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en spans.

SpannableStringBuilder SpannableStringBuilder.inSpans(span: Any, builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en span.

SpannableStringBuilder SpannableStringBuilder.italic(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un StyleSpan en cursiva.

SpannableStringBuilder SpannableStringBuilder.scale(proportion: Float, builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un RelativeSizeSpan

SpannableStringBuilder SpannableStringBuilder.strikeThrough(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un StrikethroughSpan.

SpannableStringBuilder SpannableStringBuilder.subscript(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un SubscriptSpan.

SpannableStringBuilder SpannableStringBuilder.superscript(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un SuperscriptSpan.

SpannableStringBuilder SpannableStringBuilder.underline(builderAction: SpannableStringBuilder.() -> Unit)

Une el texto adjunto en builderAction en un UnderlineSpan

Para android.text.Spanned
Array<out T> Spanned.getSpans(start: Int = 0, end: Int = length)

Obtener todos los intervalos que sean instancia de T.

String Spanned.toHtml(option: Int = TO_HTML_PARAGRAPH_LINES_CONSECUTIVE)

Muestra una string de HTML de los intervalos en este Spanned.

Para kotlin.CharSequence
Boolean CharSequence.isDigitsOnly()

Muestra si la CharSequence determinada solo contiene dígitos.

Spannable CharSequence.toSpannable()

Muestra un Spannable nuevo de CharSequence o la propia fuente si ya es una instancia de SpannableString.

Spanned CharSequence.toSpanned()

Muestra un Spanned nuevo de CharSequence o la propia fuente si ya es una instancia de SpannedString.

Int CharSequence.trimmedLength()

Muestra la longitud que tendría la CharSequence especificada si los espacios y los caracteres de control ASCII se recortaran de principio a fin, como en String.trim.

Para kotlin.String
String String.htmlEncode()

Código HTML de la string

Spanned String.parseAsHtml(flags: Int = FROM_HTML_MODE_LEGACY, imageGetter: ImageGetter? = null, tagHandler: TagHandler? = null)

Muestra Spanned a partir del análisis de esta string como HTML.

Propiedades de extensión

For java.util.Locale
Int Locale.layoutDirection()

Muestra la dirección del diseño para una configuración regional determinada.

Funciones de nivel superior

SpannedString buildSpannedString(builderAction: SpannableStringBuilder.() -> Unit)

Para compilar una string nueva, completa un SpannableStringBuilder recién creado con la builderAction proporcionada y, a continuación, lo convierte en SpannedString.

androidx.core.transition

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.transition.Transition
TransitionListener Transition.addListener(crossinline onEnd: (transition: Transition) -> Unit = {}, crossinline onStart: (transition: Transition) -> Unit = {}, crossinline onCancel: (transition: Transition) -> Unit = {}, crossinline onResume: (transition: Transition) -> Unit = {}, crossinline onPause: (transition: Transition) -> Unit = {})

Agrega un objeto de escucha a esta Transition con las acciones proporcionadas.

TransitionListener Transition.doOnCancel(crossinline action: (transition: Transition) -> Unit)

Agrega una acción que se invocará cuando se haya cancelado esta transición.

TransitionListener Transition.doOnEnd(crossinline action: (transition: Transition) -> Unit)

Agrega una acción que se invocará cuando finalice esta transición.

TransitionListener Transition.doOnPause(crossinline action: (transition: Transition) -> Unit)

Agrega una acción que se invocará cuando se pause esta transición.

TransitionListener Transition.doOnResume(crossinline action: (transition: Transition) -> Unit)

Agrega una acción que se invocará cuando esta transición se reanude después de una pausa.

TransitionListener Transition.doOnStart(crossinline action: (transition: Transition) -> Unit)

Agrega una acción que se invocará cuando comience esta transición.

androidx.core.util

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.util.AtomicFile
ByteArray AtomicFile.readBytes()

Obtiene todo el contenido de este archivo como un arreglo de bytes.

String AtomicFile.readText(charset: Charset = Charsets.UTF_8)

Obtiene todo el contenido de este archivo como una string con UTF-8 o un charset especificado.

Unit AtomicFile.tryWrite(block: (out: FileOutputStream) -> Unit)

Realiza las operaciones de escritura dentro de block en este archivo.

Unit AtomicFile.writeBytes(array: ByteArray)

Define el contenido de este archivo como un array de bytes.

Unit AtomicFile.writeText(text: String, charset: Charset = Charsets.UTF_8)

Establece el contenido de este archivo como text codificado con UTF-8 o charset especificado.

Para android.util.LongSparseArray
operator Boolean LongSparseArray<T>.contains(key: Long)

Muestra true si la colección contiene key.

Boolean LongSparseArray<T>.containsKey(key: Long)

Muestra true si la colección contiene key.

Boolean LongSparseArray<T>.containsValue(value: T)

Muestra true si la colección contiene value.

Unit LongSparseArray<T>.forEach(action: (key: Long, value: T) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

T LongSparseArray<T>.getOrDefault(key: Long, defaultValue: T)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

T LongSparseArray<T>.getOrElse(key: Long, defaultValue: () -> T)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean LongSparseArray<T>.isEmpty()

Muestra true cuando la colección no contiene elementos.

Boolean LongSparseArray<T>.isNotEmpty()

Muestra true cuando la colección contiene elementos.

LongIterator LongSparseArray<T>.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator LongSparseArray<T> LongSparseArray<T>.plus(other: LongSparseArray<T>)

Agrega o reemplaza entradas de other para crear una colección nueva.

Unit LongSparseArray<T>.putAll(other: LongSparseArray<T>)

Agrega o reemplaza entradas de other para actualizar esta colección.

Boolean LongSparseArray<T>.remove(key: Long, value: T)

Quita la entrada de key solo si está asignada a value.

operator Unit LongSparseArray<T>.set(key: Long, value: T)

Permite usar el operador de índice para almacenar valores en la colección.

Iterator<T> LongSparseArray<T>.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para android.util.Pair
operator F Pair<F, S>.component1()

Muestra el primer componente del par.

operator S Pair<F, S>.component2()

Muestra el segundo componente del par.

Pair<F, S> Pair<F, S>.toKotlinPair()

Muestra este Pair como un kotlin.Pair.

Para android.util.Range
infix Range<T> Range<T>.and(other: Range<T>)

Muestra la intersección de este rango con other.

operator Range<T> Range<T>.plus(value: T)

Muestra el rango más pequeño que incluye este valor y value.

operator Range<T> Range<T>.plus(other: Range<T>)

Muestra el rango más pequeño que incluye este y other.

ClosedRange<T> Range<T>.toClosedRange()

Muestra este Range como un ClosedRange.

Para android.util.Size
operator Int Size.component1()

Muestra "width", el primer componente de este Size.

operator Int Size.component2()

Muestra "height", el segundo componente de este Size.

Para android.util.SizeF
operator Float SizeF.component1()

Muestra "width", el primer componente de este SizeF.

operator Float SizeF.component2()

Muestra "height", el segundo componente de este SizeF.

Para android.util.SparseArray
operator Boolean SparseArray<T>.contains(key: Int)

Muestra true si la colección contiene key.

Boolean SparseArray<T>.containsKey(key: Int)

Muestra true si la colección contiene key.

Boolean SparseArray<T>.containsValue(value: T)

Muestra true si la colección contiene value.

Unit SparseArray<T>.forEach(action: (key: Int, value: T) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

T SparseArray<T>.getOrDefault(key: Int, defaultValue: T)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

T SparseArray<T>.getOrElse(key: Int, defaultValue: () -> T)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean SparseArray<T>.isEmpty()

Muestra true cuando la colección no contiene elementos.

Boolean SparseArray<T>.isNotEmpty()

Muestra true cuando la colección contiene elementos.

IntIterator SparseArray<T>.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator SparseArray<T> SparseArray<T>.plus(other: SparseArray<T>)

Agrega o reemplaza entradas de other para crear una colección nueva.

Unit SparseArray<T>.putAll(other: SparseArray<T>)

Agrega o reemplaza entradas de other para actualizar esta colección.

Boolean SparseArray<T>.remove(key: Int, value: T)

Quita la entrada de key solo si está asignada a value.

operator Unit SparseArray<T>.set(key: Int, value: T)

Permite usar el operador de índice para almacenar valores en la colección.

Iterator<T> SparseArray<T>.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para android.util.SparseBooleanArray
operator Boolean SparseBooleanArray.contains(key: Int)

Muestra true si la colección contiene key.

Boolean SparseBooleanArray.containsKey(key: Int)

Muestra true si la colección contiene key.

Boolean SparseBooleanArray.containsValue(value: Boolean)

Muestra true si la colección contiene value.

Unit SparseBooleanArray.forEach(action: (key: Int, value: Boolean) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

Boolean SparseBooleanArray.getOrDefault(key: Int, defaultValue: Boolean)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

Boolean SparseBooleanArray.getOrElse(key: Int, defaultValue: () -> Boolean)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean SparseBooleanArray.isEmpty()

Muestra true cuando la colección no contiene elementos.

Boolean SparseBooleanArray.isNotEmpty()

Muestra true cuando la colección contiene elementos.

IntIterator SparseBooleanArray.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator SparseBooleanArray SparseBooleanArray.plus(other: SparseBooleanArray)

Agrega o reemplaza entradas de other para crear una colección nueva.

Unit SparseBooleanArray.putAll(other: SparseBooleanArray)

Agrega o reemplaza entradas de other para actualizar esta colección.

Boolean SparseBooleanArray.remove(key: Int, value: Boolean)

Quita la entrada de key solo si está asignada a value.

operator Unit SparseBooleanArray.set(key: Int, value: Boolean)

Permite usar el operador de índice para almacenar valores en la colección.

BooleanIterator SparseBooleanArray.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para android.util.SparseIntArray
operator Boolean SparseIntArray.contains(key: Int)

Muestra true si la colección contiene key.

Boolean SparseIntArray.containsKey(key: Int)

Muestra true si la colección contiene key.

Boolean SparseIntArray.containsValue(value: Int)

Muestra true si la colección contiene value.

Unit SparseIntArray.forEach(action: (key: Int, value: Int) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

Int SparseIntArray.getOrDefault(key: Int, defaultValue: Int)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

Int SparseIntArray.getOrElse(key: Int, defaultValue: () -> Int)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean SparseIntArray.isEmpty()

Muestra true cuando la colección no contiene elementos.

Boolean SparseIntArray.isNotEmpty()

Muestra true cuando la colección contiene elementos.

IntIterator SparseIntArray.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator SparseIntArray SparseIntArray.plus(other: SparseIntArray)

Agrega o reemplaza entradas de other para crear una colección nueva.

Unit SparseIntArray.putAll(other: SparseIntArray)

Agrega o reemplaza entradas de other para actualizar esta colección.

Boolean SparseIntArray.remove(key: Int, value: Int)

Quita la entrada de key solo si está asignada a value.

operator Unit SparseIntArray.set(key: Int, value: Int)

Permite usar el operador de índice para almacenar valores en la colección.

IntIterator SparseIntArray.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para android.util.SparseLongArray
operator Boolean SparseLongArray.contains(key: Int)

Muestra true si la colección contiene key.

Boolean SparseLongArray.containsKey(key: Int)

Muestra true si la colección contiene key.

Boolean SparseLongArray.containsValue(value: Long)

Muestra true si la colección contiene value.

Unit SparseLongArray.forEach(action: (key: Int, value: Long) -> Unit)

Realiza la action determinada para cada entrada clave-valor.

Long SparseLongArray.getOrDefault(key: Int, defaultValue: Long)

Muestra el valor correspondiente a key o defaultValue cuando no está presente.

Long SparseLongArray.getOrElse(key: Int, defaultValue: () -> Long)

Muestra el valor correspondiente a key o de defaultValue cuando no está presente.

Boolean SparseLongArray.isEmpty()

Muestra true cuando la colección no contiene elementos.

Boolean SparseLongArray.isNotEmpty()

Muestra true cuando la colección contiene elementos.

IntIterator SparseLongArray.keyIterator()

Muestra un iterador sobre las claves de la colección.

operator SparseLongArray SparseLongArray.plus(other: SparseLongArray)

Agrega o reemplaza entradas de other para crear una colección nueva.

Unit SparseLongArray.putAll(other: SparseLongArray)

Agrega o reemplaza entradas de other para actualizar esta colección.

Boolean SparseLongArray.remove(key: Int, value: Long)

Quita la entrada de key solo si está configurada en value.

operator Unit SparseLongArray.set(key: Int, value: Long)

Permite usar el operador de índice para almacenar valores en la colección.

LongIterator SparseLongArray.valueIterator()

Muestra un iterador sobre los valores de la colección.

Para kotlin.Double
Half Double.toHalf()

Muestra una instancia Half que representa un Double determinado.

Para kotlin.Float
Half Float.toHalf()

Muestra una instancia Half que representa un Float determinado.

Para kotlin.Pair
Pair<F, S> Pair<F, S>.toAndroidPair()

Muestra este kotlin.Pair como un Pair de Android.

Para kotlin.Short
Half Short.toHalf()

Muestra una instancia Half que representa un Short determinado.

Para kotlin.String
Half String.toHalf()

Muestra una instancia Half que representa una String determinada.

Para kotlin.ranges.ClosedRange
Range<T> ClosedRange<T>.toRange()

Muestra este ClosedRange como un Range.

Propiedades de extensión

Para android.util.LongSparseArray
Int LongSparseArray<T>.size()

Muestra la cantidad de pares clave-valor en la colección.

Para android.util.SparseArray
Int SparseArray<T>.size()

Muestra la cantidad de pares clave-valor en la colección.

Para android.util.SparseBooleanArray
Int SparseBooleanArray.size()

Muestra la cantidad de pares clave-valor en la colección.

Para android.util.SparseIntArray
Int SparseIntArray.size()

Muestra la cantidad de pares clave-valor en la colección.

Para android.util.SparseLongArray
Int SparseLongArray.size()

Muestra la cantidad de entradas clave-valor en la colección.

Funciones de nivel superior

LruCache<K, V> lruCache(maxSize: Int, crossinline sizeOf: (key: K, value: V) -> Int = { _, _ -> 1 }, crossinline create: (key: K) -> V? = { null as V? }, crossinline onEntryRemoved: (evicted: Boolean, key: K, oldValue: V, newValue: V?) -> Unit = { _, _, _, _ -> })

Crea una LruCache con los parámetros especificados.

infix Range<T> T.rangeTo(that: T)

Crea un rango desde este valor de Comparable hasta that.

androidx.core.view

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.view.Menu
operator Boolean Menu.contains(item: MenuItem)

Muestra true si se encuentra Item en este menú.

Unit Menu.forEach(action: (item: MenuItem) -> Unit)

Realiza la acción especificada en cada elemento de este menú.

Unit Menu.forEachIndexed(action: (index: Int, item: MenuItem) -> Unit)

Realiza la acción especificada en cada elemento de este menú y proporciona su índice secuencial.

operator MenuItem Menu.get(index: Int)

Muestra el menú en index.

Boolean Menu.isEmpty()

Muestra true si este menú no contiene ningún elemento.

Boolean Menu.isNotEmpty()

Muestra true si este menú contiene uno o más elementos.

operator MutableIterator<MenuItem> Menu.iterator()

Muestra un MutableIterator sobre los elementos de este menú.

operator Unit Menu.minusAssign(item: MenuItem)

Quita item de este menú.

Para android.view.View
Unit View.doOnAttach(crossinline action: (view: View) -> Unit)

Realiza la acción determinada cuando esta vista se adjunta a una ventana.

Unit View.doOnDetach(crossinline action: (view: View) -> Unit)

Realiza la acción determinada cuando esta vista se separa de una ventana.

Unit View.doOnLayout(crossinline action: (view: View) -> Unit)

Realiza la acción especificada cuando se muestra esta vista.

Unit View.doOnNextLayout(crossinline action: (view: View) -> Unit)

Realiza la acción especificada cuando se muestra esta vista a continuación.

OneShotPreDrawListener View.doOnPreDraw(crossinline action: (view: View) -> Unit)

Realiza la acción determinada cuando el árbol de vistas está a punto de dibujarse.

Bitmap View.drawToBitmap(config: Config = Bitmap.Config.ARGB_8888)

Muestra una representación de Bitmaps de esta View.

Runnable View.postDelayed(delayInMillis: Long, crossinline action: () -> Unit)

Es una versión de View.postDelayed que reordena los parámetros, lo que permite que la acción se coloque fuera de paréntesis.

Runnable View.postOnAnimationDelayed(delayInMillis: Long, crossinline action: () -> Unit)

Es una versión de View.postOnAnimationDelayed que reordena los parámetros, lo que permite que la acción se coloque fuera de paréntesis.

Unit View.setPadding(@Px size: Int)

Configura el relleno de la vista.

Unit View.updateLayoutParams(block: LayoutParams.() -> Unit)

Ejecuta block con los layoutParams de View y reasigna los layoutParams con la versión actualizada.

Unit View.updateLayoutParams(block: T.() -> Unit)

Ejecuta block con una versión escrita de los layoutParams de View y reasigna los patternParams con la versión actualizada.

Unit View.updatePadding(@Px left: Int = paddingLeft, @Px top: Int = paddingTop, @Px right: Int = paddingRight, @Px bottom: Int = paddingBottom)

Actualiza el padding de esta vista.

Unit View.updatePaddingRelative(@Px start: Int = paddingStart, @Px top: Int = paddingTop, @Px end: Int = paddingEnd, @Px bottom: Int = paddingBottom)

Actualiza el padding relativo de esta vista.

Para android.view.ViewGroup
operator Boolean ViewGroup.contains(view: View)

Muestra true si view se encuentra en este grupo de vistas.

Unit ViewGroup.forEach(action: (view: View) -> Unit)

Realiza la acción determinada en cada vista de este grupo de vistas.

Unit ViewGroup.forEachIndexed(action: (index: Int, view: View) -> Unit)

Realiza la acción determinada en cada vista de este grupo de vistas y proporciona su índice secuencial.

operator View ViewGroup.get(index: Int)

Muestra la vista en index.

Boolean ViewGroup.isEmpty()

Muestra true si este grupo de vistas no contiene vistas.

Boolean ViewGroup.isNotEmpty()

Muestra true si este grupo de vistas contiene una o más vistas.

operator MutableIterator<View> ViewGroup.iterator()

Muestra un MutableIterator sobre las vistas de este grupo de vistas.

operator Unit ViewGroup.minusAssign(view: View)

Quita view de este grupo de vistas.

operator Unit ViewGroup.plusAssign(view: View)

Agrega view a este grupo de vistas.

Para android.view.ViewGroup.MarginLayoutParams
Unit MarginLayoutParams.setMargins(@Px size: Int)

Establece los márgenes en los MarginLayoutParams de ViewGroup.

Unit MarginLayoutParams.updateMargins(@Px left: Int = leftMargin, @Px top: Int = topMargin, @Px right: Int = rightMargin, @Px bottom: Int = bottomMargin)

Actualiza los márgenes en los ViewGroup.MarginLayoutParams de ViewGroup.

Unit MarginLayoutParams.updateMarginsRelative(@Px start: Int = marginStart, @Px top: Int = topMargin, @Px end: Int = marginEnd, @Px bottom: Int = bottomMargin)

Actualiza los márgenes relativos en los MarginLayoutParams de ViewGroup.

Propiedades de extensión

Para android.view.Menu
Sequence<MenuItem> Menu.children()

Muestra una Sequence sobre los elementos de este menú.

Int Menu.size()

Muestra la cantidad de elementos en este menú.

Para android.view.View
Boolean View.isGone()

Muestra true cuando la visibilidad de esta vista es View.GONE; en caso contrario, false.

Boolean View.isInvisible()

Muestra true cuando la visibilidad de esta vista es View.INVISIBLE; en caso contrario, false.

Boolean View.isVisible()

Muestra true cuando la visibilidad de esta vista es View.VISIBLE; en caso contrario, false.

Int View.marginBottom()

Muestra el margen inferior si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Int View.marginEnd()

Muestra el margen final si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Int View.marginLeft()

Muestra el margen izquierdo si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Int View.marginRight()

Muestra el margen derecho si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Int View.marginStart()

Muestra el margen inicial si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Int View.marginTop()

Muestra el margen superior si los LayoutParams de esta vista son ViewGroup.MarginLayoutParams; de lo contrario, muestra 0.

Para android.view.ViewGroup
Sequence<View> ViewGroup.children()

Muestra una Sequence sobre las vistas secundarias en este grupo de vistas.

Int ViewGroup.size()

Muestra la cantidad de vistas en este grupo de vistas.

androidx.core.widget

Dependencia

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funciones de extensión

Para android.widget.TextView
TextWatcher TextView.addTextChangedListener(crossinline beforeTextChanged: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit = { _, _, _, _ -> }, crossinline onTextChanged: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit = { _, _, _, _ -> }, crossinline afterTextChanged: (text: Editable?) -> Unit = {})

Agrega un objeto de escucha modificado para texto a esta TextView con las acciones proporcionadas.

TextWatcher TextView.doAfterTextChanged(crossinline action: (text: Editable?) -> Unit)

Agrega una acción que se invocará después de que cambie el texto.

TextWatcher TextView.doBeforeTextChanged(crossinline action: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit)

Agrega una acción que se invocará antes de que cambie el texto.

TextWatcher TextView.doOnTextChanged(crossinline action: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit)

Agrega una acción que se invocará cuando cambie el texto.

androidx.dynamicanimation.animation.

Dependencia

Groovy

dependencies {
    implementation "androidx.dynamicanimation:dynamicanimation-ktx:1.1.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.dynamicanimation:dynamicanimation-ktx:1.1.0-alpha03")
}

Funciones de extensión

Para SpringAnimation
SpringAnimation SpringAnimation.withSpringForceProperties(func: SpringForce.() -> Unit)

Actualiza o aplica propiedades de fuerza de resorte como SpringForce.mDampingRatio, SpringForce.mFinalPosition y rigidez en SpringAnimation.

Funciones de nivel superior

FlingAnimation flingAnimationOf(setter: (Float) -> Unit, getter: () -> Float)

Crea FlingAnimation para una propiedad a la que se puede acceder a través del método set y el método get proporcionados.

SpringAnimation springAnimationOf(setter: (Float) -> Unit, getter: () -> Float, finalPosition: Float = Float.NaN)

Crea SpringAnimation para una propiedad a la que se puede acceder a través del método set y el método get proporcionados.

androidx.fragment.app

Dependencia

Groovy

dependencies {
    implementation "androidx.fragment:fragment-ktx:1.8.3"
}

Kotlin

dependencies {
    implementation("androidx.fragment:fragment-ktx:1.8.3")
}

Funciones de extensión

Para android.view.View
F View.findFragment()

Busca un Fragment asociado con una View.

Para Fragment
Lazy<VM> Fragment.activityViewModels(noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Muestra un delegado de propiedad para acceder al ViewModel de la actividad superior; si se especifica factoryProducer, el ViewModelProvider.Factory que se muestre se usará para crear ViewModel por primera vez.

Lazy<VM> Fragment.createViewModelLazy(viewModelClass: KClass<VM>, storeProducer: () -> ViewModelStore, factoryProducer: () -> ViewModelProvider.Factory = null)

Es un método de ayuda para la creación de ViewModelLazy, que resuelve null y lo pasa como factoryProducer al valor predeterminado de fábrica.

Lazy<VM> Fragment.viewModels(noinline ownerProducer: () -> ViewModelStoreOwner = { this }, noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Muestra un delegado de propiedad para acceder a ViewModel de manera predeterminada con alcance a este Fragment:

Para FragmentTransaction
FragmentTransaction FragmentTransaction.add(@IdRes containerViewId: Int, tag: String? = null, args: Bundle? = null)

Agrega un fragmento al FragmentManager asociado, lo cual aumenta la vista que el Fragment proporciona de la vista de contenedor que especifica containerViewId para recuperarla más tarde mediante FragmentManager.findFragmentById.

FragmentTransaction FragmentTransaction.add(tag: String, args: Bundle? = null)

Agrega un fragmento al FragmentManager asociado sin agregar el Fragment a ninguna vista de contenedor.

FragmentTransaction FragmentTransaction.replace(@IdRes containerViewId: Int, tag: String? = null, args: Bundle? = null)

Reemplaza un fragmento existente que se agregó a un contenedor.

Para FragmentManager
Unit FragmentManager.commit(allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Ejecuta body en una FragmentTransaction, la cual se confirma automáticamente si se completa sin excepciones.

Unit FragmentManager.commitNow(allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Ejecuta body en una FragmentTransaction, la cual se confirma automáticamente si se completa sin excepciones.

Unit FragmentManager.transaction(now: Boolean = false, allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Ejecuta body en una FragmentTransaction, la cual se confirma automáticamente si se completa sin excepciones.

androidx.fragment.app.testing

Dependencia

Groovy

dependencies {
    implementation "androidx.fragment:fragment-testing:1.8.3"
}

Kotlin

dependencies {
    implementation("androidx.fragment:fragment-testing:1.8.3")
}

Funciones de nivel superior

FragmentScenario<F!> launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

Inicia un Fragment con argumentos determinados alojados por una FragmentActivity vacía usando FragmentFactory y espera a que se reanude el estado.

FragmentScenario<F!> launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

Inicia un Fragment con argumentos determinados alojados por una FragmentActivity vacía usando instantiate para crear el Fragment y espera a que se reanude el estado.

FragmentScenario<F!> launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

Inicia un Fragment en el android.R.id.content de contenedor de vista de raíz de la Activity, con argumentos determinados alojados por una FragmentActivity vacía y espera a que se reanude el estado.

FragmentScenario<F!> launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

Inicia un Fragment en el android.R.id.content de contenedor de vista de raíz de la Activity, con argumentos determinados alojados por una FragmentActivity vacía usando instantiate para crear el Fragment y espera a que se reanude el estado.

androidx.lifecycle

Dependencia

Groovy

dependencies {
    implementation "androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7"
}

Kotlin

dependencies {
    implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
}

Funciones de extensión

Para kotlinx.coroutines.flow.Flow
LiveData<T> Flow<T>.asLiveData(context: CoroutineContext = EmptyCoroutineContext, timeoutInMs: Long = DEFAULT_TIMEOUT)

Crea un LiveData que tiene valores recopilados del Flow de origen.

LiveData<T> Flow<T>.asLiveData(context: CoroutineContext = EmptyCoroutineContext, timeout: Duration)

Crea un LiveData que tiene valores recopilados del Flow de origen.

Para org.reactivestreams.Publisher
LiveData<T> Publisher<T>.toLiveData()

Crea una transmisión LiveData observable de un Publisher de ReactiveStreams.

Para LiveData
Flow<T> LiveData<T>.asFlow()

Crea un Flow que contiene los valores entregados por el LiveData de origen: al comienzo, un recopilador de flujos recibe el valor más reciente de LiveData y, luego, observa las actualizaciones de LiveData.

LiveData<X> LiveData<X>.distinctUntilChanged()

Crea un objeto LiveData nuevo que no emite un valor hasta que se cambia el valor de LiveData del this de origen.

LiveData<Y> LiveData<X>.map(crossinline transform: (X) -> Y)

Muestra un LiveData asignado desde this LiveData al aplicar transform a cada valor establecido en this LiveData.

Observer<T> LiveData<T>.observe(owner: LifecycleOwner, crossinline onChanged: (T) -> Unit)

Agrega la lambda onChanged determinada como observador dentro de la vida útil del owner determinado y muestra una referencia al observador.

LiveData<Y> LiveData<X>.switchMap(crossinline transform: (X) -> LiveData<Y>)

Muestra un LiveData asignado desde el this LiveData de entrada al aplicar transform a cada valor establecido en this.

Publisher<T> LiveData<T>.toPublisher(lifecycle: LifecycleOwner)

Adapta la transmisión de LiveData especificada a un Publisher de ReactiveStreams.

Para ViewModelProvider
VM ViewModelProvider.get()

Muestra un ViewModel existente o crea uno nuevo en el alcance (por lo general, un fragmento o una actividad), asociado con este ViewModelProvider.

Para LifecycleOwner
suspend T LifecycleOwner.whenCreated(block: suspend CoroutineScope.() -> T)

Ejecuta el bloque especificado cuando el Lifecycle del LifecycleOwner está en el estado Lifecycle.State.CREATED como mínimo.

suspend T LifecycleOwner.whenResumed(block: suspend CoroutineScope.() -> T)

Ejecuta el bloque especificado cuando el Lifecycle del LifecycleOwner está en el estado Lifecycle.State.RESUMED como mínimo.

suspend T LifecycleOwner.whenStarted(block: suspend CoroutineScope.() -> T)

Ejecuta el bloque especificado cuando el Lifecycle del LifecycleOwner está en el estado Lifecycle.State.STARTED como mínimo.

Para Lifecycle
suspend T Lifecycle.whenCreated(block: suspend CoroutineScope.() -> T)

Ejecuta el bloque especificado cuando el Lifecycle está, al menos, en el estado Lifecycle.State.CREATED.

suspend T Lifecycle.whenResumed(block: suspend CoroutineScope.() -> T)

Ejecuta el bloque especificado cuando el Lifecycle está, al menos, en el estado Lifecycle.State.RESUMED.

suspend T Lifecycle.whenStarted(block: suspend CoroutineScope.() -> T)

Ejecuta el bloqueo especificado cuando el Lifecycle está, al menos, en el estado Lifecycle.State.STARTED.

suspend T Lifecycle.whenStateAtLeast(minState: Lifecycle.State, block: suspend CoroutineScope.() -> T)

Ejecuta el block determinado en un CoroutineDispatcher que ejecuta el block en el subproceso principal y suspende la ejecución, a menos que el estado del Lifecycle sea minState como mínimo.

Propiedades de extensión

Para Lifecycle
LifecycleCoroutineScope Lifecycle.coroutineScope()

Es la CoroutineScope vinculada a este Lifecycle.

Para LifecycleOwner
LifecycleCoroutineScope LifecycleOwner.lifecycleScope()

CoroutineScope vinculada al Lifecycle de LifecycleOwner.

Para ViewModel
CoroutineScope ViewModel.viewModelScope()

Es la CoroutineScope vinculada a este ViewModel.

Funciones de nivel superior

LiveData<T> liveData(context: CoroutineContext = EmptyCoroutineContext, timeoutInMs: Long = DEFAULT_TIMEOUT, block: suspend LiveDataScope<T>.() -> Unit)

Compila un LiveData con valores obtenidos del block determinado que se ejecuta en un LiveDataScope.

LiveData<T> liveData(context: CoroutineContext = EmptyCoroutineContext, timeout: Duration, block: suspend LiveDataScope<T>.() -> Unit)

Compila un LiveData con valores obtenidos del block determinado que se ejecuta en un LiveDataScope.

androidx.navigation

Dependencia

Groovy

dependencies {
    implementation "androidx.navigation:navigation-runtime-ktx:2.8.4"
    implementation "androidx.navigation:navigation-fragment-ktx:2.8.4"
    implementation "androidx.navigation:navigation-ui-ktx:2.8.4"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-runtime-ktx:2.8.4")
    implementation("androidx.navigation:navigation-fragment-ktx:2.8.4")
    implementation("androidx.navigation:navigation-ui-ktx:2.8.4")
}

Funciones de extensión

Para android.app.Activity
NavController Activity.findNavController(@IdRes viewId: Int)

Busca un NavController determinado que tenga el ID de una View y que contenga Activity.

NavArgsLazy<Args> Activity.navArgs()

Muestra un delegado Lazy para acceder a los extras de Activity como una instancia de Args.

Para android.view.View
NavController View.findNavController()

Busca un NavController asociado con una View.

Para NavGraphBuilder
Unit NavGraphBuilder.activity(@IdRes id: Int, builder: ActivityNavigatorDestinationBuilder.() -> Unit)

Crea un ActivityNavigator.Destination nuevo

Unit NavGraphBuilder.navigation(@IdRes id: Int, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Crea un NavGraph anidado

Para NavGraph
operator Boolean NavGraph.contains(@IdRes id: Int)

Muestra true si se encuentra un destino con id en este gráfico de navegación.

operator NavDestination NavGraph.get(@IdRes id: Int)

Muestra el destino con id.

operator Unit NavGraph.minusAssign(node: NavDestination)

Quita node de este gráfico de navegación.

operator Unit NavGraph.plusAssign(node: NavDestination)

Agrega un destino a este NavGraph.

operator Unit NavGraph.plusAssign(other: NavGraph)

Agrega a esta colección todos los destinos de otra colección.

Para NavController
NavGraph NavController.createGraph(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Crea un NavGraph nuevo

Para NavHost
NavGraph NavHost.createGraph(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Crea un NavGraph nuevo

Para NavigatorProvider
operator T NavigatorProvider.get(name: String)

Muestra un Navigator registrado por su nombre.

operator T NavigatorProvider.get(clazz: KClass<T>)

Muestra un Navigator registrado con el nombre proporcionado por la anotación de Navigator.Name.

NavGraph NavigatorProvider.navigation(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Crea un NavGraph nuevo

operator Unit NavigatorProvider.plusAssign(navigator: Navigator<out NavDestination>)

Registra un navegador con el nombre proporcionado por la anotación de Navigator.Name.

operator Navigator<out NavDestination!>? NavigatorProvider.set(name: String, navigator: Navigator<out NavDestination>)

Registra un Navigator por su nombre.

Para Fragment
Lazy<VM> Fragment.navGraphViewModels(@IdRes navGraphId: Int, noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Muestra un delegado de propiedad para acceder a un ViewModel delimitado a un gráfico de navegación presente en la pila de actividades {@link NavController}:

Funciones de nivel superior

ActivityNavigator.Extras ActivityNavigatorExtras(activityOptions: ActivityOptionsCompat? = null, flags: Int = 0)

Crea una instancia de ActivityNavigator.Extras nueva con una instancia de ActivityOptionsCompat específica o cualquier marca Intent.FLAG_ACTIVITY_.

NavOptions navOptions(optionsBuilder: NavOptionsBuilder.() -> Unit)

Crear un NavOptions nuevo

androidx.navigation.fragment

Dependencia

Groovy

dependencies {
    implementation "androidx.navigation:navigation-fragment-ktx:2.8.4"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-fragment-ktx:2.8.4")
}

Funciones de extensión

Para NavGraphBuilder
Unit NavGraphBuilder.dialog(@IdRes id: Int)

Construye un DialogFragmentNavigator.Destination nuevo.

Unit NavGraphBuilder.dialog(@IdRes id: Int, builder: DialogFragmentNavigatorDestinationBuilder.() -> Unit)

Construye un DialogFragmentNavigator.Destination nuevo.

Unit NavGraphBuilder.fragment(@IdRes id: Int)

Construye un FragmentNavigator.Destination nuevo.

Unit NavGraphBuilder.fragment(@IdRes id: Int, builder: FragmentNavigatorDestinationBuilder.() -> Unit)

Construye un FragmentNavigator.Destination nuevo.

Para Fragment
NavController Fragment.findNavController()

Busca un NavController que tenga un Fragment

NavArgsLazy<Args> Fragment.navArgs()

Muestra un delegado Lazy para acceder a los argumentos de Fragment como una instancia de Args.

Funciones de nivel superior

FragmentNavigator.Extras FragmentNavigatorExtras(vararg sharedElements: Pair<View, String>)

Crea una instancia de FragmentNavigator.Extras nueva con los elementos compartidos especificados

androidx.navigation.ui

Dependencia

Groovy

dependencies {
    implementation "androidx.navigation:navigation-ui-ktx:2.8.4"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-ui-ktx:2.8.4")
}

Funciones de extensión

Para android.view.MenuItem
Boolean MenuItem.onNavDestinationSelected(navController: NavController)

Intenta navegar a la NavDestination asociada con este MenuItem.

Para androidx.appcompat.app.AppCompatActivity
Unit AppCompatActivity.setupActionBarWithNavController(navController: NavController, drawerLayout: DrawerLayout?)

Configura la ActionBar que muestra AppCompatActivity.getSupportActionBar para usar con un NavController.

Unit AppCompatActivity.setupActionBarWithNavController(navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura la ActionBar que muestra AppCompatActivity.getSupportActionBar para usar con un NavController.

Para androidx.appcompat.widget.Toolbar
Unit Toolbar.setupWithNavController(navController: NavController, drawerLayout: DrawerLayout?)

Configura una Toolbar para usar con un NavController.

Unit Toolbar.setupWithNavController(navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura una Toolbar para usar con un NavController.

Para com.google.android.material.appbar.CollapsingToolbarLayout
Unit CollapsingToolbarLayout.setupWithNavController(toolbar: Toolbar, navController: NavController, drawerLayout: DrawerLayout?)

Configura un CollapsingToolbarLayout y una Toolbar para usar con un NavController.

Unit CollapsingToolbarLayout.setupWithNavController(toolbar: Toolbar, navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura un CollapsingToolbarLayout y una Toolbar para usar con un NavController.

Para com.google.android.material.bottomnavigation.BottomNavigationView
Unit BottomNavigationView.setupWithNavController(navController: NavController)

Configura una BottomNavigationView para usar con un NavController.

Para com.google.android.material.navigation.NavigationView
Unit NavigationView.setupWithNavController(navController: NavController)

Configura una NavigationView para usar con un NavController.

Para NavController
Boolean NavController.navigateUp(drawerLayout: DrawerLayout?)

Controla el botón Arriba al delegar su comportamiento al NavController determinado.

Boolean NavController.navigateUp(appBarConfiguration: AppBarConfiguration)

Controla el botón Arriba al delegar su comportamiento al NavController determinado.

Funciones de nivel superior

AppBarConfiguration AppBarConfiguration(navGraph: NavGraph, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opciones de configuración para los métodos NavigationUI que interactúan con implementaciones del patrón de la barra de la app, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout y android.support.v7.app.ActionBar.

AppBarConfiguration AppBarConfiguration(topLevelMenu: Menu, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opciones de configuración para los métodos NavigationUI que interactúan con implementaciones del patrón de la barra de la app, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout y android.support.v7.app.ActionBar.

AppBarConfiguration AppBarConfiguration(topLevelDestinationIds: Set<Int>, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opciones de configuración para los métodos NavigationUI que interactúan con implementaciones del patrón de la barra de la app, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout y android.support.v7.app.ActionBar.

androidx.paging

Dependencia

Groovy

dependencies {
    implementation "androidx.paging:paging-common-ktx:2.1.2"
    implementation "androidx.paging:paging-runtime-ktx:2.1.2"
    implementation "androidx.paging:paging-rxjava2-ktx:2.1.2"
}

Kotlin

dependencies {
    implementation("androidx.paging:paging-common-ktx:2.1.2")
    implementation("androidx.paging:paging-runtime-ktx:2.1.2")
    implementation("androidx.paging:paging-rxjava2-ktx:2.1.2")
}

Funciones de extensión

Para Factory
Flowable<PagedList<Value>> DataSource.Factory<Key, Value>.toFlowable(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null, backpressureStrategy: BackpressureStrategy = BackpressureStrategy.LATEST)

Crea un Flowable<PagedList>, a partir de este DataSource.Factory, conveniente para RxPagedListBuilder.

Flowable<PagedList<Value>> DataSource.Factory<Key, Value>.toFlowable(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null, backpressureStrategy: BackpressureStrategy = BackpressureStrategy.LATEST)

Crea un Flowable<PagedList>, a partir de este DataSource.Factory, conveniente para RxPagedListBuilder.

LiveData<PagedList<Value>> DataSource.Factory<Key, Value>.toLiveData(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchExecutor: Executor = ArchTaskExecutor.getIOThreadExecutor())

Crea un LiveData<PagedList>, a partir de este DataSource.Factory, conveniente para LivePagedListBuilder.

LiveData<PagedList<Value>> DataSource.Factory<Key, Value>.toLiveData(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchExecutor: Executor = ArchTaskExecutor.getIOThreadExecutor())

Crea un LiveData<PagedList>, a partir de este DataSource.Factory, conveniente para LivePagedListBuilder.

Observable<PagedList<Value>> DataSource.Factory<Key, Value>.toObservable(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null)

Crea un Observable<PagedList> a partir de este DataSource.Factory, conveniente para RxPagedListBuilder.

Observable<PagedList<Value>> DataSource.Factory<Key, Value>.toObservable(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null)

Crea un Observable<PagedList> a partir de este DataSource.Factory, conveniente para RxPagedListBuilder.

Funciones de nivel superior

PagedList.Config Config(pageSize: Int, prefetchDistance: Int = pageSize, enablePlaceholders: Boolean = true, initialLoadSizeHint: Int = pageSize * PagedList.Config.Builder.DEFAULT_INITIAL_PAGE_MULTIPLIER, maxSize: Int = PagedList.Config.MAX_SIZE_UNBOUNDED)

Crea una PagedList.Config, conveniente para PagedList.Config.Builder.

PagedList<Value> PagedList(dataSource: DataSource<Key, Value>, config: PagedList.Config, notifyExecutor: Executor, fetchExecutor: Executor, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, initialKey: Key? = null)

Crea una PagedList, conveniente para PagedList.Builder.

androidx.palette.graphics

Dependencia

Groovy

dependencies {
    implementation "androidx.palette:palette-ktx:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.palette:palette-ktx:1.0.0")
}

Funciones de extensión

Para Palette
operator Palette.Swatch? Palette.get(target: Target)

Proporciona la muestra seleccionada para el destino determinado de la paleta o null si no se pudo encontrar una.

androidx.preference

Dependencia

Groovy

dependencies {
    implementation "androidx.preference:preference-ktx:1.2.1"
}

Kotlin

dependencies {
    implementation("androidx.preference:preference-ktx:1.2.1")
}

Funciones de extensión

Para PreferenceGroup
operator Boolean PreferenceGroup.contains(preference: Preference)

Muestra true si preference se encuentra en este grupo de preferencias.

Unit PreferenceGroup.forEach(action: (preference: Preference) -> Unit)

Realiza la acción determinada en cada preferencia de este grupo de preferencias.

Unit PreferenceGroup.forEachIndexed(action: (index: Int, preference: Preference) -> Unit)

Ejecuta la acción determinada en cada preferencia de este grupo de preferencias y proporciona su índice secuencial.

operator T? PreferenceGroup.get(key: CharSequence)

Muestra la preferencia con key o null si no se encuentra ninguna preferencia con key.

operator Preference PreferenceGroup.get(index: Int)

Muestra la preferencia en index.

Boolean PreferenceGroup.isEmpty()

Muestra true si este grupo de preferencias no contiene preferencias.

Boolean PreferenceGroup.isNotEmpty()

Muestra true si este grupo de preferencias contiene una o más preferencias.

operator MutableIterator<Preference> PreferenceGroup.iterator()

Muestra un MutableIterator sobre las preferencias de este grupo de preferencias.

operator Unit PreferenceGroup.minusAssign(preference: Preference)

Quita preference de este grupo de preferencias.

operator Unit PreferenceGroup.plusAssign(preference: Preference)

Agrega preference a este grupo de preferencias.

Propiedades de extensión

Para PreferenceGroup
Sequence<Preference> PreferenceGroup.children()

Muestra una Sequence sobre las preferencias de este grupo de preferencias.

Int PreferenceGroup.size()

Muestra la cantidad de preferencias en este grupo de preferencias.

androidx.room

Dependencia

Groovy

dependencies {
    implementation "androidx.room:room-ktx:2.6.1"
}

Kotlin

dependencies {
    implementation("androidx.room:room-ktx:2.6.1")
}

Funciones de extensión

Para RoomDatabase
suspend R RoomDatabase.withTransaction(block: suspend () -> R)

Llama al block de suspensión especificado en una transacción de base de datos.

androidx.slice.builders

Dependencia

Groovy

dependencies {
    implementation "androidx.slice:slice-builders-ktx:1.0.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.slice:slice-builders-ktx:1.0.0-alpha08")
}

Funciones de extensión

Para GridRowBuilderDsl
GridRowBuilder GridRowBuilderDsl.cell(buildCell: CellBuilderDsl.() -> Unit)

GridRowBuilder GridRowBuilderDsl.seeMoreCell(buildCell: CellBuilderDsl.() -> Unit)

Para ListBuilderDsl
ListBuilder ListBuilderDsl.gridRow(buildGrid: GridRowBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.header(buildHeader: HeaderBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.inputRange(buildInputRange: InputRangeBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.range(buildRange: RangeBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.row(buildRow: RowBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.seeMoreRow(buildRow: RowBuilderDsl.() -> Unit)

Funciones de nivel superior

Slice list(context: Context, uri: Uri, ttl: Long, addRows: ListBuilderDsl.() -> Unit)

Reduce la verbosidad necesaria para crear un Slice en Kotlin.

SliceAction tapSliceAction(pendingIntent: PendingIntent, icon: IconCompat, imageMode: Int = ICON_IMAGE, title: CharSequence)

Método de fábrica para crear una SliceAction táctil.

SliceAction toggleSliceAction(pendingIntent: PendingIntent, icon: IconCompat? = null, title: CharSequence, isChecked: Boolean)

Método de fábrica para crear una SliceAction que se puede alternar.

androidx.sqlite.db

Dependencia

Groovy

dependencies {
    implementation "androidx.sqlite:sqlite-ktx:2.4.0"
}

Kotlin

dependencies {
    implementation("androidx.sqlite:sqlite-ktx:2.4.0")
}

Funciones de extensión

Para SupportSQLiteDatabase
T SupportSQLiteDatabase.transaction(exclusive: Boolean = true, body: SupportSQLiteDatabase.() -> T)

Ejecuta body en una transacción para marcarla como correcta si se completa sin excepciones.

androidx.work

Dependencia

Funciones de extensión

Para com.google.common.util.concurrent.ListenableFuture
suspend R ListenableFuture<R>.await()

Espera a que se complete ListenableFuture sin bloquear una conversación.

Para Operation
suspend Operation.State.SUCCESS! Operation.await()

Espera una Operation sin bloquear una conversación.

Para Data
Boolean Data.hasKeyWithValueOfType(key: String)

Muestra true si la instancia de Data tiene un valor correspondiente a la key determinada con un tipo T esperado.

Para Builder
OneTimeWorkRequest.Builder OneTimeWorkRequest.Builder.setInputMerger(@NonNull inputMerger: KClass<out InputMerger>)

Configura un InputMerger en OneTimeWorkRequest.Builder.

Funciones de nivel superior

OneTimeWorkRequest.Builder OneTimeWorkRequestBuilder()

Crea una OneTimeWorkRequest con el ListenableWorker determinado.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Long, repeatIntervalTimeUnit: TimeUnit)

Crea un PeriodicWorkRequest.Builder con un ListenableWorker determinado.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Duration)

Crea un PeriodicWorkRequest.Builder con un ListenableWorker determinado.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Long, repeatIntervalTimeUnit: TimeUnit, flexTimeInterval: Long, flexTimeIntervalUnit: TimeUnit)

Crea un PeriodicWorkRequest.Builder con un ListenableWorker determinado.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Duration, flexTimeInterval: Duration)

Crea un PeriodicWorkRequest.Builder con un ListenableWorker determinado.

Data workDataOf(vararg pairs: Pair<String, Any?>)

Convierte una lista de pares en un objeto Data.

androidx.work.testing

Dependencia

Groovy

dependencies {
    implementation "androidx.work:work-testing:2.9.1"
}

Kotlin

dependencies {
    implementation("androidx.work:work-testing:2.9.1")
}

Funciones de nivel superior

TestListenableWorkerBuilder<W> TestListenableWorkerBuilder(context: Context, inputData: Data = Data.EMPTY, tags: List<String> = emptyList(), runAttemptCount: Int = 1, triggeredContentUris: List<Uri> = emptyList(), triggeredContentAuthorities: List<String> = emptyList())

Crea una instancia de TestListenableWorkerBuilder.

TestWorkerBuilder<O> TestWorkerBuilder(context: Context, executor: Executor, inputData: Data = Data.EMPTY, tags: List<String> = emptyList(), runAttemptCount: Int = 1, triggeredContentUris: List<Uri> = emptyList(), triggeredContentAuthorities: List<String> = emptyList())

Compila una instancia de TestWorkerBuilder.

com.google.android.play.core.ktx

Dependencia

Groovy

dependencies {
    implementation "com.google.android.play:core-ktx:1.8.1"
}

Kotlin

dependencies {
    implementation("com.google.android.play:core-ktx:1.8.1")
}

Funciones de extensión

Para com.google.android.play.core.appupdate.AppUpdateManager
suspend AppUpdateInfo AppUpdateManager.requestAppUpdateInfo()

Solicita la disponibilidad de actualizaciones para la app actual.

suspend Unit AppUpdateManager.requestCompleteUpdate()

Para un flujo de actualización flexible, activa la finalización de la actualización.

Flow<AppUpdateResult> AppUpdateManager.requestUpdateFlow()

Es un punto de entrada para supervisar la disponibilidad y el progreso de las actualizaciones.

Boolean AppUpdateManager.startUpdateFlowForResult(appUpdateInfo: AppUpdateInfo, appUpdateType: Int, fragment: Fragment, requestCode: Int)

Es una versión de AppUpdateManager.startUpdateFlowForResult que acepta un Fragment de AndroidX para mostrar el resultado.

Para com.google.android.play.core.splitinstall.SplitInstallManager
suspend Unit SplitInstallManager.requestCancelInstall(sessionId: Int)

Suspende la versión de SplitInstallManager.cancelInstall

suspend Unit SplitInstallManager.requestDeferredInstall(moduleNames: List<String>)

Suspende la versión de SplitInstallManager.deferredInstall

suspend Unit SplitInstallManager.requestDeferredLanguageInstall(languages: List<Locale>)

Suspende la versión de SplitInstallManager.deferredLanguageInstall

suspend Unit SplitInstallManager.requestDeferredLanguageUninstall(languages: List<Locale>)

Suspende la versión de SplitInstallManager.deferredLanguageUninstall

suspend Unit SplitInstallManager.requestDeferredUninstall(moduleNames: List<String>)

Suspende la versión de SplitInstallManager.deferredUninstall

suspend Int SplitInstallManager.requestInstall(modules: List<String> = listOf(), languages: List<String> = listOf())

Inicia la instalación de los módulos o idiomas solicitados.

Flow<SplitInstallSessionState> SplitInstallManager.requestProgressFlow()

Crea y muestra un Flow almacenado en búfer que mostrará todos los eventos de progreso para las instalaciones en división en curso.

suspend SplitInstallSessionState SplitInstallManager.requestSessionState(sessionId: Int)

Suspende la versión de SplitInstallManager.getSessionState

suspend List<SplitInstallSessionState> SplitInstallManager.requestSessionStates()

Suspende la versión de SplitInstallManager.getSessionStates

Boolean SplitInstallManager.startConfirmationDialogForResult(sessionState: SplitInstallSessionState, fragment: Fragment, requestCode: Int)

Es una versión de SplitInstallManager.startConfirmationDialogForResult que acepta un Fragment de AndroidX para mostrar el resultado.

Propiedades de extensión

Para com.google.android.play.core.appupdate.AppUpdateInfo
Int AppUpdateInfo.installStatus()

Muestra el estado de progreso de la actualización.

Boolean AppUpdateInfo.isFlexibleUpdateAllowed()

Muestra true si se permite la actualización flexible.

Boolean AppUpdateInfo.isImmediateUpdateAllowed()

Muestra true si se permite la actualización inmediata.

Para com.google.android.play.core.install.InstallState
Boolean InstallState.hasTerminalStatus()

Esto significa que se trata de un estado terminal (no habrá más actualizaciones) y se debe manejar en consecuencia (correcto, cancelación o falla).

Int InstallState.installErrorCode()

Muestra el código de error de una instalación o {@link InstallErrorCode#NO_ERROR}.

Int InstallState.installStatus()

Muestra el estado de una instalación.

String! InstallState.packageName()

Muestra el nombre del paquete de la app que se está instalando.

Para com.google.android.play.core.splitinstall.SplitInstallSessionState
Long SplitInstallSessionState.bytesDownloaded()

Son los bytes que descarga esta actualización.

Int SplitInstallSessionState.errorCode()

Es el código de error de esta actualización.

Boolean SplitInstallSessionState.hasTerminalStatus()

Indica que esta actualización es terminal, lo que significa que no habrá más actualizaciones para esta sesión.

List<String> SplitInstallSessionState.languages()

Son los idiomas incluidos en esta actualización.

List<String> SplitInstallSessionState.moduleNames()

Son los módulos incluidos en esta actualización.

Int SplitInstallSessionState.sessionId()

Es el ID de sesión de esta actualización.

Int SplitInstallSessionState.status()

Es el código de estado de esta actualización.

Long SplitInstallSessionState.totalBytesToDownload()

Es el total de bytes que se descargarán con esta actualización.

Funciones de nivel superior

SplitInstallStateUpdatedListener SplitInstallStateUpdatedListener(onRequiresConfirmation: (SplitInstallSessionState) -> Unit, onInstalled: (SplitInstallSessionState) -> Unit, onFailed: (SplitInstallSessionState) -> Unit = {}, onPending: (SplitInstallSessionState) -> Unit = {}, onDownloaded: (SplitInstallSessionState) -> Unit = {}, onDownloading: (SplitInstallSessionState) -> Unit = {}, onInstalling: (SplitInstallSessionState) -> Unit = {}, onCanceling: (SplitInstallSessionState) -> Unit = {}, onCanceled: (SplitInstallSessionState) -> Unit = {}, onNonTerminalStatus: (SplitInstallSessionState) -> Unit = {}, onTerminalStatus: (SplitInstallSessionState) -> Unit = {})

Es una función conveniente para crear un SplitInstallStateUpdatedListener.