Android基础_PopupWindow的使用
来源:互联网 发布:一根网线开两个淘宝店 编辑:程序博客网 时间:2024/06/01 09:10
昨天有同学问我PopupWindow实现仿QQ底部菜单的问题,就写了个demo。可以底部下载
主要实现了两个功能:
1、模仿百度地图选择图层效果,右上角放大收起动画效果
2、模仿QQ底部菜单栏,底部滑入滑出效果
主要代码部分:
View popupView1 = inflater.inflate(R.layout.popup_map_select, null, false); popupWindow1 = new PopupWindow(popupView1, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, false); popupWindow1.setAnimationStyle(R.style.popup_anim_top_right); // 设置动画效果 popupWindow1.setFocusable(true); // 设置焦点,默认,可以在构造方法中设置 popupWindow1.setTouchable(true); // 设置是否可以触摸事件 popupWindow1.setBackgroundDrawable(new ColorDrawable(0x0e000000));// 如果可以点击周围关闭PopupWindow需要这只背景属性 popupWindow1.setOutsideTouchable(false); // 设置是否可以点击周围关闭PopupWindow popupWindow1.setClippingEnabled(true); // 是否强制包含在屏幕范围内,默认true// popupWindow1.setSplitTouchEnabled(false); // 分割多点触控,一般不需要// popupWindowMenu.setTouchInterceptor(l); // 设置触摸拦截 popupWindow1.update(); // 更新位置,偏移,大小// popupWindow1.setOnDismissListener(l) // 设置PopupWindow关闭监听// 显示出popupWindow popupWindow1.showAsDropDown(v, 0, 0);// popupWindow1.showAsDropDown(v, 0, 0, Gravity.CENTER); // API19以上才可以// popupWindow1.showAtLocation(v, Gravity.RIGHT, -100, 0); // 注意:Gravity.TOP的时候,是从屏幕顶部开始// 更新popupWindowpopupWindow1.update();// 重载方法,位置,偏移量,大小
在弹出菜单的时候整个界面的背景会变暗,可以设置Window的透明度来实现
// 参数为想要的透明度 private void setWindowAlpha(float alpha){ WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = alpha; getWindow().setAttributes(lp); }
关键代码部分就这些了,动画等的资源文件就不一一贴出来了,需要什么效果可以下载Demo自己修改下UI样式
下载Demo
2 0
- Android基础_PopupWindow的使用
- 75_popupwindow的使用
- Android弹窗_PopupWindow详解
- android基础--activity的使用
- Android基础--shape的使用
- Android基础_Git的使用。。
- android fragment的基础使用
- Android基础--menu的使用
- android基础---->传感器的使用
- Android Fragment的使用基础
- [android基础]LayoutInflater的使用
- Android基础 DatePicker和TimePicker的使用
- Android RenderScript 的使用基础篇
- Android Tab标签的使用基础
- Android基础——Activity的使用
- android Tab标签的使用基础
- android:基础进阶二:Timer的使用
- Android基础--shape的使用 二
- 第一个智能爬虫
- Salesforce Developer Console的用法
- jquery回车键获取input框焦点
- Android Studio 快捷键
- 蓝牙BLE以太网网关在智能家居中的应用(基于W5500)
- Android基础_PopupWindow的使用
- 微博收藏(机器学习探讨)(二)
- ffmpeg wav 转 mp3 以及其他音频转换
- 微博收藏(机器学习课程与论文)(三)
- 151220DuoTaiDemo2
- linux定时运行命令脚本shell——crontab配置
- WordPress禁用Emoji表情提高加载速度
- css 背景属性
- 151220DuoTaiDemo3