package com.xw.yunwei.extension
|
|
import android.content.Context
|
import android.graphics.drawable.Drawable
|
import androidx.core.content.ContextCompat
|
|
// 扩展 Float
|
fun Double.spToPx(context: Context): Double =
|
this * context.resources.displayMetrics.scaledDensity
|
|
fun Double.pxToSp(context: Context): Double =
|
this / context.resources.displayMetrics.scaledDensity
|
|
// 扩展 Float
|
fun Float.spToPx(context: Context): Float =
|
this * context.resources.displayMetrics.scaledDensity
|
|
fun Float.pxToSp(context: Context): Float =
|
this / context.resources.displayMetrics.scaledDensity
|
|
// 扩展 Int
|
fun Int.spToPx(context: Context): Int =
|
(this * context.resources.displayMetrics.scaledDensity).toInt()
|
|
fun Int.pxToSp(context: Context): Int =
|
(this / context.resources.displayMetrics.scaledDensity).toInt()
|
|
// 扩展 Float
|
fun Double.dpToPx(context: Context): Double =
|
this * context.resources.displayMetrics.density
|
|
fun Double.pxToDp(context: Context): Double =
|
this / context.resources.displayMetrics.density
|
|
// 扩展 Float
|
fun Float.dpToPx(context: Context): Float =
|
this * context.resources.displayMetrics.density
|
|
fun Float.pxToDp(context: Context): Float =
|
this / context.resources.displayMetrics.density
|
|
// 扩展 Int
|
fun Int.dpToPx(context: Context): Int =
|
(this * context.resources.displayMetrics.density + 0.5f).toInt()
|
|
fun Int.pxToDp(context: Context): Int =
|
(this / context.resources.displayMetrics.density + 0.5f).toInt()
|
|
//颜色资源id转颜色值
|
fun Int.colorIdToColorValue(context: Context): Int =
|
ContextCompat.getColor(context, this)
|
|
//Drawable资源id转Drawable
|
fun Int.drawableIdToDrawable(context: Context): Drawable? =
|
ContextCompat.getDrawable(context, this)
|
|
//扩展函数 显示统计数量
|
fun Int?.showCount(max: Int? = null): String {
|
return takeIf { (this ?: 0) > 0 }?.let {
|
if (max != null && it > max) {
|
"${max}+"
|
} else {
|
it.toString()
|
}
|
} ?: ""
|
}
|