Skip to content

Commit

Permalink
优化细节
Browse files Browse the repository at this point in the history
  • Loading branch information
princekin-f committed Jan 9, 2020
1 parent d3f1d11 commit 1424336
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 21 deletions.
37 changes: 18 additions & 19 deletions easyfloat/src/main/java/com/lzf/easyfloat/utils/DisplayUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,21 @@ object DisplayUtils {
/**
* 获取屏幕宽度
*/
fun getScreenWidth(context: Context): Int {
val resources = context.resources
val dm = resources.displayMetrics
return dm.widthPixels
}
fun getScreenWidth(context: Context) = context.resources.displayMetrics.widthPixels

/**
* 获取屏幕高度
*/
fun getScreenHeight(context: Context): Int {
val display =
(context.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
val point = Point()
display.getRealSize(point)
return point.y
fun getScreenHeight(context: Context) = context.resources.displayMetrics.heightPixels

/**
* 获取屏幕宽高
*/
fun getScreenSize(context: Context) = Point().apply {
val windowManager: WindowManager =
context.getSystemService(Service.WINDOW_SERVICE) as WindowManager
val display = windowManager.defaultDisplay
display.getRealSize(this)
}

/**
Expand All @@ -67,9 +67,7 @@ object DisplayUtils {
var result = 0
val resources = context.resources
val resourceId = resources.getIdentifier("status_bar_height", "dimen", "android")
if (resourceId > 0) {
result = resources.getDimensionPixelSize(resourceId)
}
if (resourceId > 0) result = resources.getDimensionPixelSize(resourceId)
return result
}

Expand All @@ -83,9 +81,7 @@ object DisplayUtils {
val resources = context.resources
val resourceId =
resources.getIdentifier("navigation_bar_height", "dimen", "android")
if (resourceId > 0) {
result = resources.getDimensionPixelSize(resourceId)
}
if (resourceId > 0) result = resources.getDimensionPixelSize(resourceId)
Log.d(TAG, "getNavigationBarHeight = $result")
return result
}
Expand Down Expand Up @@ -113,8 +109,11 @@ object DisplayUtils {
/**
* 不包含导航栏的有效高度(没有导航栏,或者已去除导航栏的高度)
*/
fun rejectedNavHeight(context: Context) =
getScreenHeight(context) - getNavigationBarCurrentHeight(context)
fun rejectedNavHeight(context: Context): Int {
val point = getScreenSize(context)
if (point.x > point.y) return point.y
return point.y - getNavigationBarCurrentHeight(context)
}

/**
* 华为手机是否显示 NavigationBar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ internal object LifecycleUtils {
application.registerActivityLifecycleCallbacks(object :
Application.ActivityLifecycleCallbacks {

override fun onActivityPaused(activity: Activity?) = checkHide(activity)
override fun onActivityPaused(activity: Activity?) {}

// 每次都要判断当前页面是否需要显示
override fun onActivityResumed(activity: Activity?) = checkShow(activity)

override fun onActivityStarted(activity: Activity?) {}
Expand All @@ -31,7 +32,8 @@ internal object LifecycleUtils {

override fun onActivitySaveInstanceState(activity: Activity?, outState: Bundle?) {}

override fun onActivityStopped(activity: Activity?) {}
// 主要判断当前App是否处于后台
override fun onActivityStopped(activity: Activity?) = checkHide(activity)

override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {}
})
Expand Down
Binary file modified example/release/EasyFloat.apk
Binary file not shown.

0 comments on commit 1424336

Please sign in to comment.