切换导航条
此项目
正在载入...
登录
刘朕
/
security-android
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
liyan
3 years ago
提交
ed042c2476712c6e9fc1e847abfc059f852dc613
1 个父辈
8f83d20a
修改状态栏2
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
93 行增加
和
0 行删除
app/src/main/java/com/br_technology/securitytrain_master/util/PoPWindowUtil.kt
app/src/main/java/com/br_technology/securitytrain_master/util/PoPWindowUtil.kt
0 → 100644
查看文件 @
ed042c2
package com.br_technology.securitytrain_master.util
import android.content.Context
import android.content.res.Resources
import android.graphics.drawable.ColorDrawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
/**
* Time: 7/30/2021 11:28
* Author: Captain
* Description: 初见时你很迷人
*/
class PoPWindowUtil {
private var mPopupWindow: PopupWindow? = null
companion object {
private var instance:PoPWindowUtil ? = null
get() {
if (field == null){
field = PoPWindowUtil()
}
return field
}
fun get(): PoPWindowUtil{
return instance!!
}
}
/**
* popwindow
*
* @param context
* @param anchorView 锚点布局
* @param layout 弹窗的布局文件
*
*/
fun initPopWindow(context: Context?, anchorView: View?, layout: Int): View? {
// 初始化popUpWindow
// 生成 View 对象
val popRootView: View = LayoutInflater.from(context).inflate(layout, null)
// PopUpWindow 传入 ContentView
if (mPopupWindow == null) {
mPopupWindow = PopupWindow(
popRootView,
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
true
)
}
// mPopupWindow.setAnimationStyle(R.style.popwin_anim_style);//设置动画
// 设置背景
//实例化一个ColorDrawable颜色为半透明,以达到变暗的效果
val dw = ColorDrawable(-0x50000000)
mPopupWindow!!.setBackgroundDrawable(dw)
// 外部点击事件
mPopupWindow!!.setOutsideTouchable(false)
// 传入点
mPopupWindow!!.showAsDropDown(anchorView)
//关闭时置空对象
mPopupWindow!!.setOnDismissListener(object : PopupWindow.OnDismissListener {
override fun onDismiss() {
mPopupWindow = null
}
})
return popRootView //返回View
}
/**
* 获取状态栏高度
*
* @param context
* @return
*/
fun getStatusBarHeight(context: Context): Int {
val resources: Resources = context.getResources()
val resourceId: Int = resources.getIdentifier("status_bar_height", "dimen", "android")
return resources.getDimensionPixelSize(resourceId)
}
/**
* 关闭方法
*/
fun dismissPoPWindow() {
if (mPopupWindow != null) {
mPopupWindow!!.dismiss()
}
}
}
\ No newline at end of file
...
...
请
注册
或
登录
后发表评论