feat:完成发红包UI国际化
This commit is contained in:
86
library/src/module_utils/java/com/chuhai/utils/UiUtils.kt
Normal file
86
library/src/module_utils/java/com/chuhai/utils/UiUtils.kt
Normal file
@@ -0,0 +1,86 @@
|
||||
package com.chuhai.utils
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.util.DisplayMetrics
|
||||
import android.util.TypedValue
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import androidx.core.text.TextUtilsCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Max
|
||||
* @date 2019-12-10.
|
||||
*/
|
||||
|
||||
|
||||
object UiUtils {
|
||||
fun getScreenWidth(context: Context): Int {
|
||||
val wm = context.getSystemService(Context.WINDOW_SERVICE) as? WindowManager
|
||||
val outMetrics = DisplayMetrics()
|
||||
wm?.defaultDisplay?.getMetrics(outMetrics)
|
||||
return outMetrics.widthPixels
|
||||
}
|
||||
|
||||
fun getScreenHeight(context: Context): Int {
|
||||
val wm = context.getSystemService(Context.WINDOW_SERVICE) as? WindowManager
|
||||
val outMetrics = DisplayMetrics()
|
||||
wm?.defaultDisplay?.getMetrics(outMetrics)
|
||||
return outMetrics.heightPixels
|
||||
}
|
||||
|
||||
fun getScreenRatio(context: Context): Float {
|
||||
return getScreenWidth(context) * 1.0f / getScreenHeight(context)
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
|
||||
*/
|
||||
fun dip2px(dpValue: Float): Int {
|
||||
return dip2px(AppUtils.getApp(), dpValue)
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
|
||||
*/
|
||||
fun px2dip(pxValue: Float): Float {
|
||||
return px2dip(AppUtils.getApp(), pxValue)
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
|
||||
*/
|
||||
fun dip2px(context: Context, dpValue: Float): Int {
|
||||
return (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, context.resources.displayMetrics) + 0.5f).toInt()
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
|
||||
*/
|
||||
fun px2dip(context: Context, pxValue: Float): Float {
|
||||
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, pxValue, context.resources.displayMetrics)
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否从右到左布局
|
||||
*/
|
||||
@SuppressLint("NewApi")
|
||||
fun isRtl(view: View): Boolean {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
View.LAYOUT_DIRECTION_RTL == view.layoutDirection
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否从右到左布局
|
||||
*/
|
||||
fun isRtl(context: Context): Boolean {
|
||||
return TextUtilsCompat.getLayoutDirectionFromLocale(context.resources.configuration.locale) == ViewCompat.LAYOUT_DIRECTION_RTL
|
||||
}
|
||||
}
|
53
library/src/module_utils/java/com/chuhai/utils/ktx/UiKtx.kt
Normal file
53
library/src/module_utils/java/com/chuhai/utils/ktx/UiKtx.kt
Normal file
@@ -0,0 +1,53 @@
|
||||
package com.chuhai.utils.ktx
|
||||
|
||||
import com.chuhai.utils.UiUtils
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
/**
|
||||
* UI
|
||||
* @author Max
|
||||
* @date 2020-01-10.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 转换为PX值
|
||||
*/
|
||||
val Float.dp: Int get() = this.toPX()
|
||||
val Int.dp: Int get() = this.toPX()
|
||||
|
||||
/**
|
||||
* 转换为DP值
|
||||
*/
|
||||
val Float.px: Int get() = this.toDP().roundToInt()
|
||||
val Int.px: Int get() = this.toDP().roundToInt()
|
||||
|
||||
|
||||
fun Long.toDP(): Float {
|
||||
return UiUtils.px2dip(this.toFloat())
|
||||
}
|
||||
|
||||
|
||||
fun Float.toDP(): Float {
|
||||
return UiUtils.px2dip(this)
|
||||
}
|
||||
|
||||
|
||||
fun Int.toDP(): Float {
|
||||
return UiUtils.px2dip(this.toFloat())
|
||||
}
|
||||
|
||||
|
||||
fun Long.toPX(): Int {
|
||||
return UiUtils.dip2px(this.toFloat())
|
||||
}
|
||||
|
||||
|
||||
fun Float.toPX(): Int {
|
||||
return UiUtils.dip2px(this)
|
||||
}
|
||||
|
||||
|
||||
fun Int.toPX(): Int {
|
||||
return UiUtils.dip2px(this.toFloat())
|
||||
}
|
Reference in New Issue
Block a user