Android PopupWindow系列 (一) —— popupWindow基本使用方略

原创 2017年05月11日 14:36:54

Android Android PopupWindow 概述

1、简述
简单点说,popputWindow 只是一个小弹框
2、PopWindow 的创建
2.1 、PopupWindow的构造函数
    //方法一:  
        public PopupWindow (Context context)  
    //方法二:  
        public PopupWindow(View contentView)  
    //方法三:  
       public PopupWindow(View contentView, int width, int height)  
    //方法四:  
       public PopupWindow(View contentView, int width, int height, boolean focusable)  

也就是说 Popwindow 的创建方式有四种 , 在这里需要声明的是,无论哪一种创建方式来创建,都必需声明所创建Popwindow 的显示View 以及宽与高 .

2.2 、创建PopupWindow

// 1 、创建PopupWindow
PopupWindow pop = new  PopupWindow (this);
// 2、设置显示视图
// 2.1、加载Popwindow 中使用的显示视图
View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.pop_item_1, null);
// 2.2、设置视图
pop.setContentView(contentView);
// 3、设置宽度
pop.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
// 4、设置高度 
pop.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);

也就是说必需声明所创建Popwindow 的显示View 以及宽与高 .

3、PopupWindow 显示
3.1 、显示方式一

在某个View 的正下方显示


// 在控件view的正下方显示
pop.showAsDropDown(view);
3.2 、显示方式二 showAsDropDown(View anchor, int xoff, int yoff)

在某个View 的正下方显示 ,并且在 轴方向 与 y轴方向有偏移

在x 轴方向的偏移 xoff 为正向右偏移,为负向左偏移
在y 轴方向的偏移 yoff 为正向下偏移,为负向上偏移

// 在控件view的正下方显示 并向右偏移20px 向下偏移20px
pop.showAsDropDown(view,2020);

3.3 、显示方式三 showAtLocation(View parent, int gravity, int x, int y)

相对于父控件显示

1 gravity 为相对于父控件显示的方式

Gravity.TOP -->  相对于父布局的顶部显示  
Gravity.LEFT--> 相对于父布局的左边显示
Gravity.RIGHT--> 相对于父布局的右边显示
Gravity.BOTTOM -->相对于父布局的底部显示
Gravity.CENTER --> 相对于父布局的中心显示
Gravity.CENTER_HORIZONTAL--> 竖直方向中心</font>
Gravity.CENTER_VERTICAL --> 水平方向中 </font>

2 x 为 在x 轴方向的偏移 xoff 为正向右偏移,为负向左偏移
3 y 为 在y 轴方向的偏移 yoff 为正向下偏移,为负向上偏移

//相对于父控件的顶部显示 无任何偏移
pop.showAtLocation(mRootView,Gravity.CENTER,0,0);

当设置显示为相对于交布局的顶部显示 出来的时候 ,默认的是垂直剧中

相对于父控件的顶部显示 无任何偏移 示图

//相对于父控件的左边显示 无任何偏移
pop.showAtLocation(mRootView,Gravity.LEFT,0,0);

popwindow相对左边显示并无偏移 显示 无任何偏移 示图

//相对于父控件的右边显示 无任何偏移
pop.showAtLocation(mRootView,Gravity.RIGHT,0,0);

相对于父控件的顶部显示 无任何偏移 示图

//相对于父控件的底部显示 无任何偏移
pop.showAtLocation(mRootView,Gravity.BOTTOM,0,0);

相对于父控件的顶部显示 无任何偏移 示图

//相对于父控件的中心显示 无任何偏移
pop.showAtLocation(mRootView,Gravity.CENTER,0,0);
//相对于父控件左上角显示  无任何偏移
pop.showAtLocation(mRootView,Gravity.LEFT|Gravity.TOP,0,0);

//相对于父控件的左上角显示  在x轴方向向右偏移200的距离
pop.showAtLocation(mRootView,Gravity.LEFT|Gravity.TOP,200,0);

//相对于父控件左上角显示  在x轴方向向下偏移200的距离
pop.showAtLocation(mRootView,Gravity.LEFT|Gravity.TOP,0,200);


... ... ... 
版权声明:本文为博主原创文章,未经博主允许不得转载。

PopUpWindow使用详解(一)——基本使用

前言:不要嫌前进的慢,只要一直在前进就好。有同学讲到想要知道PopUpWindow的知识,这里就给大家讲一讲PopUpWindow的基本用法和原理吧。这段时间博客可能会更新比较慢,因为你懂的 !!-_...
  • harvic880925
  • harvic880925
  • 2015年10月20日 08:29
  • 97598

PopUpWindow详解

参考链接: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0702/1627.html http://www.cnb...
  • core_ice
  • core_ice
  • 2016年09月07日 23:44
  • 2275

【Android开发】动画弹出PopupWindow并使背景变暗

我们在平常的android应用开发过程中,当应用数据太多太繁杂时,通常都会通过分类筛选让用户更好的找到自己想要的信息。因此利用PopupWindow或Dialog让用户快速选择定位是一个很好的选择。如...
  • liuloua
  • liuloua
  • 2016年03月17日 14:47
  • 16674

自定义弹框一(PopupWindow实现) 响应两种点击事件

自定义弹框通常可以使用 自定义的popupwindow,自定义的activity,自定义的dialog来实现  这里先用popupwindow来实现 并且可以在弹框上实现点击事件 或者在其所依附的ac...
  • idcrim
  • idcrim
  • 2017年04月13日 16:58
  • 2396

PopUpWindow使用详解(一)——基本使用

转自:http://blog.csdn.net/harvic880925/article/details/49272285 一、概述 1、PopupWindow与AlertDialog的区别 ...
  • u012861467
  • u012861467
  • 2016年07月24日 11:12
  • 3123

Android中PopupWindow的使用

public class PopUpActivity extends Activity { /** Called when the activity is first created. */ ...
  • Android_Xiaoqi
  • Android_Xiaoqi
  • 2012年05月31日 10:44
  • 22675

自定义PopupWindow轻松实现从底部弹出

首先,肯定要有动画资源吧,要不怎么弹嘞。啥都不管,先定义两个动画肯定用的着。 ...
  • LB_fighting
  • LB_fighting
  • 2016年04月28日 18:20
  • 9770

android弹出窗口的实现(PopupWindow)

最近看到新浪微博顶部栏的微博分组效果很炫,从网上查了一些资料明白原来是用PopupWindow实现的,今天自己也写了一个例子实现了这种效果,希望对大家有帮助。          PopupWindo...
  • wangkuifeng0118
  • wangkuifeng0118
  • 2012年03月19日 11:51
  • 61800

简单定制Android控件(3) - 打造通用的PopupWindow(一)

国际惯例,先上地址 https://github.com/razerdp/BasePopup 通常情况下,面对各种浮动窗口,选择窗口什么的,我们通常都是使用popupWindow,但是很多时候我...
  • mkfrank
  • mkfrank
  • 2016年01月15日 11:33
  • 4071

底部弹出PopupWindow并且背景变为半透明效果

底部弹出PopupWindow并且背景变为半透明效果...
  • chenbing81
  • chenbing81
  • 2016年07月28日 23:02
  • 18775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android PopupWindow系列 (一) —— popupWindow基本使用方略
举报原因:
原因补充:

(最多只允许输入30个字)