`
sdutdazzling
  • 浏览: 31445 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android PopupWindow使用小结

 
阅读更多

先看API:http://developer.android.com/reference/android/widget/PopupWindow.html#setAnimationStyle(int)

A popup window that can be used to display an arbitrary view. The popup window is a floating container that appears on top of the current activity.

PopupWindow是一个弹出式窗口,它可以展示任意View。他会浮在当前窗口的上方展示。

常用接口例子:

 

private void iniPopupWindow() {
		View layout = LayoutInflater.from(mActivity).inflate(R.layout.conversation_popupwindow, null);
		mBtnMyPos = (Button) layout.findViewById(R.id.myPos);
		mBtnMapSet = (Button) layout.findViewById(R.id.mapSet);
		mBtnKeySearch = (Button) layout.findViewById(R.id.keySearch);
		mBtnCollection = (Button) layout.findViewById(R.id.collection);
		mImMyPos = (ImageView) layout.findViewById(R.id.myPosbg);
		mImMapSet = (ImageView) layout.findViewById(R.id.mapSetbg);
		mImKeySearch = (ImageView) layout.findViewById(R.id.keySearchbg);
		mImCollection = (ImageView) layout.findViewById(R.id.colbg);
		mPopupWindow = new PopupWindow(layout);
		mPopupWindow.setFocusable(true);
		mPopupWindow.setTouchable(true);
		layout.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
		mPopupWindow.setWidth(layout.getMeasuredWidth());
		mPopupWindow.setHeight((layout.getMeasuredHeight()));
//		popupwindow要有背景图片OutsideTouchable、keyback才有效
//		mPopupWindow.setBackgroundDrawable(new BitmapDrawable());
		mPopupWindow.setBackgroundDrawable(this.getResources().getDrawable(android.R.color.transparent));
//		触摸popupwindow外部,可以消失。必须设置背景
		mPopupWindow.setOutsideTouchable(true);
		mPopupWindow.setAnimationStyle(android.R.style.Animation_Toast);
		mPopupWindow.update();
		mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
			
			@Override
			public void onDismiss() {
				if(mBtnPos.isSelected()){
					mBtnPos.setSelected(false);
					resetBtnState();
				}
			}
		});
	}

 其中layout是自定义布局,PopupWindow可以任意展示,使用非常方便。

开启or关闭:

if (mPopupWindow.isShowing()) {
					mPopupWindow.dismiss();// 关闭
				} else {
					mPopupWindow.showAsDropDown(mBtnPos);// 显示
				}

 

 

分享到:
评论

相关推荐

    Android PopupWindow使用方法小结

    使用PopupWindow很简单,可以总结为三个步骤: 创建PopupWindow对象实例; 设置背景、注册事件监听器和添加动画; 显示PopupWindow。 其中,第二步是可选的(不过基本上都要进行第二步的设置)。下面是一个简单的...

    史上最全面的PopupWindow总结

    史上最全面的PopupWindow总结!详细总结了开发PopUpWindow中遇到的各种问题。

    Android中常见的弹框:Spinner、Dialog、PopupMenu、PopupWindow

    Android中常见的弹框:Spinner、Dialog、PopupMenu、PopupWindow等控件基本使用总结

    android dialog与popwindow之间的简单运用

    注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...

    疯狂Android讲义源码

     1.7 本章小结 33  第2章 Android应用的界面编程 35  2.1 界面编程与视图(View)组件 36  2.1.1 视图组件与容器组件 36  2.1.2 使用XML布局文件控制UI  界面 40  2.1.3 在代码中控制UI界面 41  2.1.4 使用...

    android开发资料大全

    最无私的Android资料(书籍+代码)分享[总结] Android中文帮助教程(非常合适新手入门) android程序编写及调试新手入门 大家一起学Android(Windows篇) android入门与提高必看指南 Android入门逆引手册 Android...

    疯狂Android讲义.part1

    第1章 Android应用与开发环境 1 1.1 Android的发展和历史 2 1.1.1 Android的发展和简介 2 1.1.2 Android平台架构及特性 3 1.2 搭建Android开发环境 5 1.2.1 下载和安装Android SDK 5 ...19.10 本章小结 689

    Android 总结项目

    popupWindow、对话框、元素切换场景动画、图片打点、RN与Android交互、美团界面实现

    Android代码-EpisodeListView

    欢迎关注我的个人公众号,android 技术干货,问题深度总结,FrameWork源码解析,插件化研究,最新开源项目推荐 License Copyright (C) 2017 hejunlin Licensed under the Apache License, Version 2.0 (the ...

    Android典型技术模块开发详解

    目录 第一篇 Android开发初步 第1章 Android初识 1.1 Android简介 1.1.1 认识Android 1.1.2 Android系统框架 1.1.3 应用程序框架 1.2 Eclipse开发环境 1.2.1 安装ADT插件 1.2.2 安装SDK ...16.7 本章小结

    android学习总结

    android一些常用累的总结,例如SharedPreferences类,PopupWindow自定义弹出窗体,showAsDropDown方法显示自定义窗体位置。

    Android开发必知 九种对话框的实现方法

    这里总结了九种对话框的实现方法,有需要的朋友可以来学习下了   除了popupwindow实现稍微麻烦一点,其他形似都相对简单,熟悉2便即可 直接上源码 package com.naoh.stu; import java.util.A

    Android 刘海屏适配总结(推荐)

    一、简介 随着 Apple 发布 iPhone X 之后,各大手机厂商也开始模仿这种刘海屏的设计,而且刘海屏手机的用户也是越来越大,前...除此之外,一些控件的显示规则还会受到影响,如 PopupWindow 的显示高度会在「无状态栏」

    HintPopupWindow-比QQ更炫酷的'选项弹窗'动画.zip

    所以效率就很重要, 下面是我对activity视图bitmap的处理:当用户点下按钮时,我们需要立刻就将模糊后的图片显示出来, 下面是我的模糊图片代码:android里面的高斯模糊我大概总结了一下 基本有三种, 优缺点都有, 我用的...

    Android组件实现长按弹出上下文菜单功能的方法

    本文实例讲述了Android组件实现长按弹出上下文菜单功能的方法。分享给大家供大家参考,具体如下: 简单组件长按弹出上下文菜单总结 第一步:在程序合适位置给一个控件注册上下文菜单 组件可以是按钮,文本框,还可以...

    安卓作业—-慕课移动应用开发作业15之模仿实现微信界面效果(一)

    此篇综合运用自定义ActionBar、ContextMenu、PopupWindow、Fragment、ViewPager 以及RecyclerView等实现微信页面效果。 同时这也是中国大学慕课移动终端应用开发的网课作业15,我会持续更新我的作业 说明 说明1 这个...

    Material Design系列之Behavior实现支付密码弹窗和商品属性选择效果

    比如支付宝输入密码弹窗、商城下单时选择商品属性时,从下面浮动上来一个PopupWindow,那么今天就带大家用Behavior来实现这两个效果,结果你会发现简直只需要一行代码。 总结下现在用的APP: 1. 仿支付宝弹出的输入...

Global site tag (gtag.js) - Google Analytics