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

相关文章

Spring Boot Actuator使用说明

《SpringBootActuator使用说明》SpringBootActuator是一个用于监控和管理SpringBoot应用程序的强大工具,通过引入依赖并配置,可以启用默认的监控接口,... 目录项目里引入下面这个依赖使用场景总结说明:本文介绍Spring Boot Actuator的使用,关于Spri

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

在idea中使用mysql数据库超详细教程

《在idea中使用mysql数据库超详细教程》:本文主要介绍如何在IntelliJIDEA中连接MySQL数据库,并使用控制台执行SQL语句,还详细讲解了如何使用MyBatisGenerator快... 目录一、连接mysql二、使用mysql三、快速生成实体、接口、sql文件总结一、连接mysql在ID

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据