android popupwindow dialog区别,Android PopUpWindow使用详解

news2024/2/27 14:15:48

释放双眼,带上耳机,听听看~!

0d08079f652540336d7599383023090d.gif

一、概述

1、PopupWindow与AlertDialog的区别

最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵活。

2、PopupWindow的相关函数

第一步:最基本构造PopupWindow

View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popuplayout, null);

PopupWindwo popWnd = PopupWindow (context);

popWnd.setContentView(contentView);

popWnd.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);

popWnd.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);

拓展:也可以缩写成为两句话

View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popuplayout, null);

PopupWindwo popWnd = new PopupWindow (contextView,ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);

第二步:上面的代码基本就生成了一个简单的PopUpWindow,但是想要显示出来还需要以下方法

显示函数主要使用下面三个:

//相对某个控件的位置(正左下方),无偏移

showAsDropDown(View anchor):

//相对某个控件的位置,有偏移;xoff表示x轴的偏移,正值表示向左,负值表示向右;yoff表示相对y轴的偏移,正值是向下,负值是向上;

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

//相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移

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

这里有两种显示方式:

1、显示在某个指定控件的下方

showAsDropDown(View anchor):

showAsDropDown(View anchor, int xoff, int yoff);

2、指定父视图,显示在父控件的某个位置(Gravity.TOP,Gravity.RIGHT等)

showAtLocation(View parent, int gravity, int x, int y);

第三步显示窗体

通过showAsDropDown显示出来,但是从哪里显示出来还没有定义,

有同学就会问难道不是在第一步布局文件显示的吗?

那只是显示的布局,并没有说在哪里显示,所以我们还是要加载主窗口,在主窗口显示

View rootview = LayoutInflater.from(MainActivity.this).inflate(R.layout.main, null);

mPopWindow.showAtLocation(rootview, Gravity.BOTTOM, 0, 0);

完整代码

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.pewm, null);

mPopWindow = new PopupWindow(contentView,

ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);

//显示PopupWindow

View rootview = LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null);

mPopWindow.showAtLocation(rootview, Gravity.BOTTOM, 0, 0);

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.cn/news/show-326077.html

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

深入浅出K-Means算法

深入浅出K-Means算法 摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。在数据挖掘中,K-Means算法是一种cluster analysis的算法…

kmeans算法原理以及实践操作

原文:http://www.cnblogs.com/dudumiaomiao/p/5839905.html kmeans算法原理以及实践操作(多种k值确定以及如何选取初始点方法) kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点。 算法原理&…

define 双引号 其他宏_当年宏语言不受欢迎?背后的原因你知道吗?

人类用计算机处理文本主要是依赖宏语言以及一些专用的文本编辑器。事实上,早期的文本编辑器只提供基本的文本编辑功能,然后借助宏语言进行功能扩展。结果人类很快就发现,基于宏扩展的编辑器,功能越复杂,它的行为就越诡…

K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比

原文:http://www.cnblogs.com/yixuan-xu/p/6272208.html K-means聚类算法的三种改进(K-means,ISODATA,Kernel K-means)介绍与对比 一、概述 在本篇文章中将对四种聚类算法(K-means,K-means,ISODATA和Kernel K-means)进行详细介绍,并利用数据集来真实地反…

数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

原文:http://blog.csdn.net/sup_heaven/article/details/39313731 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B树、B*树) 转载 2014年09月16日 12:07:0827624 BST树 即二叉搜索树: 1.所有非叶子结点至…

html载入字体,css怎么导入字体?

在做前端页面的时候,有些内容文字需要通过css来指定第三方的字体进行显示,而不是默认支持的一些字体,这就需要自己制作或者获得字体文件,然后放入对应的字体目录,并通过font-family来指定字体。在 CSS3 之前&#xff0…

奇异值的物理意义

知乎上的解释特别好,非常佩服,在此转载一下,做个笔记 原文:https://www.zhihu.com/question/22237507/answer/28007137 奇异值作用:图片压缩,去燥,模糊等等矩阵的奇异值是一个数学意义上的概念…

mabatisplus怎么给实体类自定义属性_如果你的角色属性可以自定义,你会怎么点?...

如今越来越多的人抱怨小时候学的一些特长,长大之后根本没什么用处,比如乐器、绘画等等。反而是一些实用的比如烹饪和动手能力更受到大家的欢迎。阿庆想说的是,你肯定是没有坚持,到最后自然只能像方仲永一样“泯然众人矣”了。在游…

selector多路复用_超详细的I/O多路复用概念、常用I/O模型、系统调用等介绍

概述当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢&am…

余弦计算相似度度量

目录 pytorch 余弦相似度, 余弦计算相似度度量 pytorch 余弦相似度, 余弦相似度1到-1之间,1代表正相关,0代表不相关,-1代表负相关 def l2_norm(input, axis1):norm torch.norm(input, 2, axis, True)output torc…

程序员表白简短html代码,【杂谈】2018浪漫七夕:7款程序员必备表白源码(超炫酷)...

2018七夕将要来临,ki4网给大家准备了七款程序员表白专用源码,让你可以一举俘获美人心,下面就来看一看这七款表白代码大全,包含html、html5、CSS、JQ编写的一些非常简单实用的表白代码,非常炫酷、浪漫!1、CS…

哪种css实现方式优势更突出_【第十三课】更合理的CSS结构

前言从零开始学前端系列课程,与传统的视频大课堂教学不同,没有填鸭;也普通做练习题的方式不同,没有假想的模拟题。 本课程拆出80个左右必须掌握的技能点,并对其分组,从易到难地列出学习曲线。同时从真实项目…

TF-IDF与余弦相似性的应用

原文:http://www.ruanyifeng.com/blog/2013/03/tf-idf.html TF-IDF与余弦相似性的应用(一):自动提取关键词 这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。 有一篇很长的文章,我要用计算机提取…

webloigc12服务启动不了_一键启动知多少!

一键启动(自动挡车型)相比对手动挡的钥匙启动高大上不会出现膝盖被钥匙磕到的情况也不会出现钥匙孔边上有划痕的现象但是一键启动开关启动的顺序是什么?是长按至启动还是通电后再启动?一键启动常见问题答疑■ 问:一键启动车辆是如何启动的&a…

机器学习算法之决策树

原文:http://www.jianshu.com/p/6eecdeee5012 决策树是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。其本质是一颗由多个判断节点组成的树,如: 决策树在使用模型进行预测时,根据输入参数依次在各个判断…

组件三层_Angular 练级之旅(8)-Zorro Select组件的实现和进阶

很久没写相关的文章,正好前两天把抄来的Select组件重写了一下,简化了一些逻辑。先看下zorro 中select组件的一个目录结构zorro将select组件分成了 三大块Input / 选择框下拉列表连接以上2层的控制器层先看 我们使用的 nz-select 内部的模板到底是什么样的…

目标检测 RCNN算法详解

原文:http://blog.csdn.net/shenxiaolu1984/article/details/51066975 【目标检测】RCNN算法详解 Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmentation.” Proceedings of the IEEE conference on comput…

燕赵志愿云如何认证_如何获得云安全专家CCSP认证

关注↑↑↑我们获得更多精彩内容!千呼万唤始出来,云安全专家CCSP认证正式上线,全文皆重点,请仔细查看。CCSP云安全专家认证是什么?两家国际顶尖的安全组织,云安全联盟Cloud Security Alliance与 (ISC),在20…

替代方法_ASD干预:替代行为的正确使用方法和注意事项

在我们的日常干预中,孤独症的儿童的行为问题一直是我们干预的一个重点,和普通的儿童不一样,自闭症孩子由于其认知和社交方面的障碍,都会采取很多的"不恰当行为"来表达自己的不满和需求,比如尖叫,…

长沙医学院计算机系怎么样,长沙医学院有哪些专业及什么专业好

本文讲述了长沙医学院最新的专业介绍,主要包含长沙医学院有哪些专业及每个专业的收费标准、长沙医学院都有什么专业比较好等,更多信息请访问大学高考。本文目录:长沙医学院什么专业好长沙医学院比较好的专业有:临床医学、中医学、…