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

相关文章

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.