animator.addListener { handleAnimation(it) }
animator.addListener( onEnd = {}, onStart = {}, onCancel = {}, onRepeat = {} )
animator.addPauseListener { handleAnimation(it) } // animator.addPauseListener( onPause = {}, onResume = {} )
animator.doOnPause { handleAnimation(it) } animator.doOnCancel { handleAnimation(it) } animator.doOnEnd { handleAnimation(it) } animator.doOnRepeat { handleAnimation(it) } animator.doOnStart { handleAnimation(it) } animator.doOnResume { handleAnimation(it) }
val alarmManager = systemService<AlarmManager>()
context.withStyledAttributes(set = someAttributeSet, attrs = attributes, defStyleAttr = ..., defStyleRes = ...) { // - } context.withStyledAttributes(set = someAttributeSet, attrs = attributes) { // - }
sharedPreferences.edit { putBoolean(key, value) }
val contentValues = contentValuesOf(somePairs...)
DayOfWeek.FRIDAY.asInt() Month.APRIL.asInt() Year.now().asInt()
// val (seconds, nanoseconds) = Duration.ofSeconds(1) // val resultValue = Duration.ofSeconds(1) * 2 // val resultValue = Duration.ofSeconds(2) / 2 // val resultValue = -Duration.ofSeconds(2)
// val (seconds, nanoseconds) = Instant.now() // val (year, month, day) = LocalDate.now() // val (localDate, localTime) = LocalDateTime.now() // val (hour, minute, second, nanosecond) = LocalTime.now()
// val (month, day) = MonthDay.now() // val (localDataTime, ZoneOffset) = OffsetDateTime.now() // val (localTime, ZoneOffset) = OffsetTime.now()
// val (years, month, days) = Period.ofDays(2) // val resultValue = Period.ofDays(2) * 2 // val resultValue = -Period.ofDays(2)
// val (year, month) = YearMonth.now() // val (localDateTime, ZoneId) = ZonedDateTime.now()
someInt.asDayOfWeek() // DayOfWeek someInt.asMonth() // Month someInt.asYear() // Year someInt.days() // Period someInt.hours() // Duration someInt.millis() // Duration someInt.minutes() // Duration someInt.months() // Period someInt.nanos() // Duration someInt.seconds() // Duration someInt.years() // Period
someLong.asEpochMillis() // Instant someLong.asEpochSeconds() // Instant someLong.hours() // Duration someLong.millis() // Duration someLong.minutes() // Duration someLong.nanos() // Duration someLong.seconds() // Duration
handler.postAtTime(uptimeMillis = 200L) { // - } handler.postDelayed(delayInMillis = 200L) { // - }
val bundle = bundleOf("some_key" to 12, "another_key" to 15) val bundle = persistableBundleOf("some_key" to 12, "another_key" to 15)
trace("section_name") { }
val fileBytes = atomicFile.readBytes() val text = atomicFile.readText(charset = Charset.defaultCharset()) atomicFile.tryWrite { // } atomicFile.writeBytes(byteArrayOf()) atomicFile.writeText("some string", charset = Charset.defaultCharset())
array.contains(someKey) array.containsKey(someKey) array.containsValue(someValue) array.forEach { key, value -> doSomething(key, value) } array.getOrDefault(key = keyValue, defaultValue = defaultValue) array.getOrElse(key = keyValue, defaultValue = defaultValue) array.isEmpty() array.isNotEmpty() val keyIterator = array.keyIterator() val valueIterator = array.valueIterator() array.plus(anotherArray) array.putAll(anotherArray) array.remove(key = keyValue, value = value) array.set(key = keyValue, value = value) array.size
val pair = android.util.Pair("dsfn", "sdihfg") // val (key, value) = pair // Android Pair Kotlin Pair val kotlinPair = pair.toKotlinPair()
val pair = Pair("dsfn", "sdihfg") val androidPair = pair.toAndroidPair()
short.toHalf() string.toHalf() float.toHalf() double.toHalf()
val range = closedRange.toRange()
val range = closedRange.toClosedRange() // val resultValue = closedRange and someOtherRange // , val resultValue = closedRange += someOtherCloseRange // val resultValue = closedRange += someValue
val size = Size(5, 5) // val (width, height) = size
cursor.getBlob(columnName = "some_column") cursor.getBlobOrNull(columnName = "some_column") cursor.getBlobOrNull(index = 0) cursor.getDouble(columnName = "some_column") cursor.getDoubleOrNull(columnName = "some_column") cursor.getDoubleOrNull(index = 0) cursor.getFloat(columnName = "some_column") cursor.getFloatOrNull(columnName = "some_column") cursor.getFloatOrNull(index = 0) cursor.getInt(columnName = "some_column") cursor.getIntOrNull(columnName = "some_column") cursor.getIntOrNull(index = 0) cursor.getLong(columnName = "some_column") cursor.getLongOrNull(columnName = "some_column") cursor.getLongOrNull(index = 0) cursor.getShort(columnName = "some_column") cursor.getShortOrNull(columnName = "some_column") cursor.getShortOrNull(index = 0) cursor.getString(columnName = "some_column") cursor.getStringOrNull(columnName = "some_column") cursor.getStringOrNull(index = 0)
sqLiteDatabase.transaction { "some SQL statement" }
val boolean = typedArray.getBooleanOrThrow(0) val int = typedArray.getColorOrThrow(0) val colorStateList = typedArray.getColorStateListOrThrow(0) val float = typedArray.getDimensionOrThrow(0) val int = typedArray.getDimensionPixelOffsetOrThrow(0) val int = typedArray.getDimensionPixelSizeOrThrow(0) val drawable = typedArray.getDrawableOrThrow(0) val float = typedArray.getFloatOrThrow(0) val typeface = typedArray.getFontOrThrow(0) val int = typedArray.getIntOrThrow(0) val int = typedArray.getIntegerOrThrow(0) val string = typedArray.getStringOrThrow(0) val charSequenceArray = typedArray.getTextArrayOrThrow(0) val charSequence = typedArray.getTextOrThrow(0)
val builder = SpannableStringBuilder(urlString) .bold { append("hi there") } // bold / italic / underlined , . val builder = SpannableStringBuilder(urlString) .bold { italic { underline { append("hi there") } } }
.backgroundColor(color = R.color.black) { // builder } .inSpans(spans = someSpans) { // builder }
textView.text = buildSpannedString { bold { append("hitherejoe") } }
val uri = urlString.toUri()
val adaptiveIcon = bitmap.toAdaptiveIcon() val drawable = bitmap.toDrawable(resources) val icon = bitmap.toIcon() val drawable = someInt.toDrawable() val icon = someByteArray.toIcon() val icon = someUri.toIcon() val colorDrawable = someColor.toDrawable() val bitmap = drawable.toBitmap(width = someWidth, height = someHeight, config = bitMapConfig)
val bitmap = someBitmap.applyCanvas(block = { }) val colorInt = someBitmap.get(x, y) val bitmap = someBitmap.scale(width, height, filter = true) someBitmap.set(x, y, color)
canvas.withRotation(degrees, pivotX, pivotY) { // } canvas.withSave { // } canvas.withScale(x, y, pivotX, pivotY) { // } canvas.withSkew(x, y) { // } canvas.withTranslation(x, y) { // }
// val (r, g, b, a) = color // val color += someColor
// val resultMatrix = matrix * someOtherMatrix val values = matrix.values()
val resultField = picture.record(width = someWidth, height = someHeight) { // - Canvas }
drawable.updateBounds(left = 16, top = 16, right = 16, bottom = 16)
shader.transform { // }
val porterDuffColorFilter = mode.toColorFilter(someColor) val porterDuffXfermode = mode.toXfermode()
// someRegion Rect val region = someRegion and someRect // someRegion Region val region = someRegion and someRegion // someRegion Rect val region = someRegion - someRect // someRegion Region val region = someRegion - someRegion // someRegion Rect val region = someRegion or someRect // someRegion Region val region = someRegion or someRegion // someRegion Rect val region = someRegion + someRect // someRegion Region val region = someRegion + someRegion // someRegion Rect val region = someRegion xor someRect // someRegion Region val region = someRegion xor someRegion val boolean = someRegion.contains(somePoint) someRegion.forEach { doSomethingWithEachRect(it) } val iterator = someRegion.iterator() // someRegion Region val region = -someRegion
val (x, y) = somePointF val pointF = somePointF - someOtherPointF val pointF = somePointF - someFloat val pointF = somePointF + somePointF val pointF = somePointF + someFloat val point = somePointF.toPoint() val pointF = -somePointF
val (x, y) = somePoint val point = somePoint - somePoint val point = somePoint - someFloat val point = somePoint +somePoint val point = somePoint + someFloat val point = somePoint.toPointF() val point = -somePoint
val rect = someRect and anotherRect val (left, top, right, bottom) = someRect someRect.contains(somePoint) val region = someRect - anotherRect val rect = someRect - someInt val rect = someRect - somePoint val rect = someRect or someRect val rect = someRect + someRect val rect = someRect + someInt val rect = someRect + somePoint val rectF = someRect.toRectF() val region = someRect.toRegion() val region = someRect xor someRect
val rectF = someRectF and anotherRectF val (left, top, right, bottom) = somerectF someRectF.contains(somePoint) val region = someRectF - anotherRectF val rectF = someRectF - someInt val rectF = someRectF - somePoint val rectF = someRectF or someRect val rectF = someRectF + someRect val rectF = someRectF + someInt val rectF = someRectF + somePoint val rect = someRectF.toRect() val region = someRectF.toRegion() val reactF = someRectF.transform(someMatrix) val region = someRectF xor someRect
val path = somePath and anotherPath val path = somePath.flatten(error = 0.5f) val path = somePath - anotherPath val path = somePath or anotherPath val path = somePath + anotherPath val path = somePath xor anotherPath
val alpha = int.alpha val blue = int.blue val green = int.green val red = int.red val luminance = int.luminance val (alphaComp, redComp, greenComp, blueComp) = someInt val color = someInt.toColor() val color = someInt.toColorLong()
val alpha = long.alpha val blue = long.blue val green = long.green val red = long.red val luminance = long.luminance val (alphaComp, redComp, greenComp, blueComp) = someLong val color = someLong.toColor() val color = someLong.toColorInt() long.isSrgb long.isWideGamut long.colorSpace
transition.addListener { doSomethingWithTransition(it) } transition.addListener( onEnd = {}, onStart = {}, onCancel = {}, onResume = {}, onPause = {} )
transition.doOnCancel { } transition.doOnEnd { } transition.doOnPause { } transition.doOnResume { } transition.doOnStart { }
view.doOnLayout { } view.doOnNextLayout { } view.doOnPreDraw { }
view.postDelayed(delayInMillis = 200) { // - }
view.postOnAnimationDelayed(delayInMillis = 200) { // - }
view.setPadding(16) view.updatePadding(left = 16, right = 16, top = 16, bottom = 16) view.updatePaddingRelative( start = 16, end = 16, top = 16, bottom = 16)
val bitmap = view.toBitmap(config = bitmapConfig)
val doesContain = viewGroup.contains(view)
viewGroup.forEach { doSomethingWithChild(it) } viewGroup.forEachIndexed { index, view -> doSomethingWithChild(index, view) }
val view = viewGroup[0]
val viewGroupIterator = viewGroup.iterator()
viewGroup.isEmpty() viewGroup.isNotEmpty() viewGroup.size // view viewgroup viewGroup -= view // view viewgroup viewGroup += view
params.setMargins(16) params.updateMargins(left = 16, right = 16, top = 16, bottom = 16) params.updateMarginsRelative( start = 16, end = 16, top = 16, bottom = 16)
Source: https://habr.com/ru/post/349014/
All Articles