`
ahua186186
  • 浏览: 561991 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PopupWindow组件的使用问题

 
阅读更多
PopupWindow
顾名思义为弹出式菜单,
不同于Dialag对话框,PopupWindow
不会使宿主activity组件失去焦点,
也就是说PopupWindow弹出后,
你可以与宿主activity进行交互,
Dialog却不能做到这一点。

注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not valid; is your activity running?
总结: PopupWindow必须在某个事件中显示或者是开启一个新线程去调用,不能直接在onCreate方法中显示一个Popupwindow,否则永远会有以上的错误

常用设置:
// PopupWindow定义,显示view,以及初始化长和宽 
PopupWindow menu = new PopupWindow(view, 200, 60); 
// 必须设置,否则获得焦点后页面上其他地方点击无响应 
menu.setBackgroundDrawable(new BitmapDrawable()); 
// 设置焦点,必须设置,否则PopupWindow内的空间无法响应事件 
menu.setFocusable(true); 
// 设置点击其他地方 popupWindow消失   
menu.setOutsideTouchable(true); 
// 显示在某个位置 
menu.showAsDropDown(anchor); 


除了setBackgroundDrawable(new BitmapDrawable());还可以使用下面两种解决页面无法响应问题
a、处理响应
有点麻烦,有兴趣可以自己看看http://zhoudan241.iteye.com/blog/1147730

b、最笨的方法将listView中元素拿出来放到LinearLayout中,对于非listView都无需设置setFocusable(true),从而解决问题,具体可以见http://blog.csdn.net/ihrthk/article/details/7338791
但这种方法对于动态变化的菜单需要配置多份layout文件
分享到:
评论

相关推荐

    Android代码-安卓PopupWindow组件的一般使用方式

    以上就是关于Android中的PopupWindow组件的一般使用方式,包括基础操作、自定义效果和位置设定。在实际开发中,你可以根据项目需求灵活运用这些知识点,创建出丰富多样的交互体验。在`PopupWindowSet-master`这个...

    vue-popupwindow

    在popupwindow组件中,可以使用`<slot>`来定义弹窗的自定义内容区域,这样用户就可以根据需要插入任意HTML。 8. **生命周期钩子**:Vue组件有多个生命周期钩子函数,如`created`、`mounted`等,可以在特定阶段执行...

    安卓 PopupWindow 简单使用学习

    需要注意的是,由于PopupWindow并非Activity的一部分,所以在使用时要注意处理好生命周期问题,比如在Activity的onPause()或onDestroy()中关闭PopupWindow。 总结来说,PopupWindow是Android开发中一个灵活且实用的...

    博客《 PopUpWindow使用详解(一)——基本使用》对应源码

    在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种浮现在当前Activity之上的窗口,用于显示临时的信息或者菜单。这篇博客《PopUpWindow使用详解(一)——基本使用》及其源码,旨在帮助开发者更好地...

    android的popupWindow使用

    本篇文章将详细介绍如何在Android应用中使用PopupWindow,并通过一个具体的案例来演示其基本用法。 首先,PopupWindow是Android SDK提供的一种轻量级的弹窗组件,相比Dialog,它的创建和显示更加灵活。PopupWindow...

    Android PopupWindow使用示例

    在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来创建弹出式窗口,类似于下拉菜单、提示框或者浮动视图。这个组件在许多场景下都非常有用,例如在主界面之上显示附加信息或者提供附加操作。下面将...

    android:PopupWindow的使用

    在Android开发中,`PopupWindow`是一个非常实用的组件,它允许我们创建浮动、弹出式的视图,常用于下拉菜单、浮层提示等场景。`PopupWindow`提供了丰富的自定义选项,使得开发者可以轻松地调整其外观和行为。在本篇...

    android 之popupWindow的使用

    在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种类似对话框的效果,但比Dialog更加灵活,可以自定义显示的内容和位置。本文将详细介绍如何在Android应用中使用PopupWindow,包括其基本概念、创建...

    PopupWindow中使用GridView

    在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来创建弹出式窗口,为用户提供临时的信息展示或者交互操作。本篇文章将详细介绍如何在`PopupWindow`中集成`GridView`,以及如何动态地改变按钮背景和`...

    popupwindow项目使用案例

    PopupWindow是Android开发中一个非常重要的组件,常用于创建弹出式窗口,它可以在Activity的任何位置显示,并且可以自定义大小和样式。本项目案例旨在展示如何在实际应用中灵活运用PopupWindow,同时结合动画效果,...

    popupwindow使用

    PopupWindow是Android开发中一种常用的UI组件,它用于在屏幕上的任意位置弹出一个窗口,通常用来显示一些临时的信息或者提供交互操作。本教程将深入探讨PopupWindow的基本使用,并结合ListView展示其实战应用。 ...

    popupwindow使用案例

    PopupWindow是Android开发中一个非常实用的组件,它允许开发者创建弹出式窗口,用于显示额外的信息或提供交互功能。这个组件通常用于实现类似于浮动菜单、提示框或者下拉列表的效果。在本案例中,我们将深入探讨...

    PopupWindow

    PopupWindow是Android系统中一个非常重要的UI组件,它允许开发者在屏幕任意位置显示一个浮动的窗口,这个窗口可以是对话框、菜单或者其他自定义视图。在Android应用开发中,PopupWindow常用于创建弹出式菜单、提示...

    Vue实现PopupWindow组件详解

    Vue实现PopupWindow组件详解 本篇文章主要介绍了如何使用 Vue 框架实现 PopupWindow 组件,涵盖了组件、props 传值、slot 内容插入、transitions 过渡动画、x-template 模板等多个 Vue 特性。下面将详细解释这些...

    Android PopupWindow使用

    PopupWindow在Android开发中是一个非常实用的组件,它允许开发者创建弹出式窗口,用于显示临时信息或提供交互式操作。在微信等社交应用中,PopupWindow常用于下拉菜单、快捷操作、提示信息等场景。本文将详细介绍...

    PopupWindow的使用

    PopupWindow是Android开发中一个非常实用的组件,它允许开发者创建弹出式窗口,通常用于在主界面之上显示一些临时信息或者提供附加操作。在本文中,我们将详细探讨PopupWindow的使用方法,包括其基本概念、创建过程...

    android PopupWindow的使用(带动画效果)源码

    在Android开发中,`PopupWindow`是一个非常实用的组件,常用于实现各种弹出窗口的效果,比如下拉菜单、提示信息等。`PopupWindow`提供了丰富的自定义能力,包括动画效果,使得应用的交互体验更加生动有趣。本教程将...

    Android popupwindow 实例及使用

    在Android开发中,PopupWindow是一个非常实用的组件,它能够以弹出窗口的形式展示内容,类似于浮动对话框或者下拉菜单。PopupWindow可以灵活地在屏幕的任何位置显示,并且可以自定义其大小、背景、内容等。在这个...

    android popupwindow的使用

    在Android开发中,PopupWindow是一个非常实用的组件,它能够以弹出窗口的形式展示内容,通常用于实现下拉菜单、浮动提示或者简单的对话框效果。本文将深入探讨PopupWindow的使用,包括其基本概念、创建过程、显示...

Global site tag (gtag.js) - Google Analytics