如何解决如何在Android中找到项目的确切Y位置和高度?
我想在特定视图上显示弹出窗口,我通过以下功能实现了这一点。它适用于大多数设备。一些设备,如 Realme 3 Pro 设备。 Y 位置不准确。
val size = Point()
val height = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
windowManager.currentwindowMetrics.bounds.height()
} else {
windowManager.defaultdisplay.getSize(size)
size.y
}
然后在下面我曾经在footerView顶部显示弹出窗口
val lp: WindowManager.LayoutParams = window!!.attributes
lp.width = WindowManager.LayoutParams.MATCH_PARENT
lp.height = WindowManager.LayoutParams.WRAP_CONTENT
lp.gravity = Gravity.BottOM
val rectf = Rect()
footerView.getGlobalVisibleRect(rectf)
val y = rectf.centerY()
lp.y = height - y
lp.dimAmount = 0f
以及另一种尝试在该特定视图下方显示弹出窗口到该视图下的剩余屏幕
val lp: WindowManager.LayoutParams = window!!.attributes
lp.width = WindowManager.LayoutParams.MATCH_PARENT
val rectf = Rect()
footerView.getGlobalVisibleRect(rectf)
lp.height = height - rectf.centerY()
lp.gravity = Gravity.BottOM
lp.y = 0
lp.dimAmount = 0f
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。