android PopupWindow的详细说明

2024-04-25 07:18

本文主要是介绍android PopupWindow的详细说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       今天主要是对PopupWindow的总结,如有不对之处,还请提出。

       PopupWindow 说白点就是个弹出框, 和Dialog相似,它的好处是可以根据需要设置自己要弹出的位置;布局更加灵活

一:PopupWindow的使用步骤

1:先创建一个PopupWindow实例

     PopupWindow(View contentView, int width, int height)(这只是其中一个构造方法)

     参数contentView是popupWindow中要放的布局,参数width和height是popupWindow的宽和高

     注意点:官方的说明,当不传递width,height参数时,构造出来的popupWindow的dimension只有0*0,看不见弹出框,不要忘记!

例如:new PopupWindow(getLayoutInflater().inflate(R.layout.pop, null),

                    LayoutParams. WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

2:   设置其弹出的位置

具体就两种方式:showAsDropDown 和 showAtLocation

   1:   showAsDropDown(View anchor, int xoff, int yoff)       

            以anchor的左下角为参照点,定义偏移   即相当于以anchor的左下角定点为二维坐标系的原点,向右为正x,向下为正y

   2:showAtLocation(View parent, int gravity, int x, int y)     

            以parent为主容器,gravity为对齐参照点,定义偏移(参照点上面时是向右是为正X,向下为正Y;在下面时,向右为正X,向上为正Y。

***其中的方法update是用来重新设置PopupWindow的高和宽的,以及它的位置

二:使用时的注意点

1: popupWindow.setBackgroundDrawable(new BitmapDrawable()); 

这句话不写、将它写在showAsDropDown之后PopupWindow之外的区域后, PopupWindow不会消失。

例子:demo图片如下

如果要Demo,留下联系方式,发给你。

或者下载地址:http://download.csdn.net/detail/ttjjttjj1101/5484681


这篇关于android PopupWindow的详细说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934027

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3