`
handrenliang
  • 浏览: 34146 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在Android上创建一个PopupWindow

阅读更多
1. 为PopupWindow创建一个Layout---popup_window_layout.xml\
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/LinearLayout_popupwindow" android:layout_width="wrap_content"
	android:layout_height="wrap_content">

	<TextView android:id="@+id/TextView_popupwindow"
		android:layout_width="wrap_content" android:layout_height="wrap_content"
		android:text="I am PopupWindow..." android:drawableTop="@drawable/controlbar_homepage"></TextView>

</LinearLayout>


2. 初始化PopupWindow,并提供两个方法去控制PopupWindow的显示与消失
/**
	 * show popup window
	 */
	private void showPopupWindow() {
		// if popupWindow is null then initialize it
		if (popupWindow == null) {
			// get layout inflater from system service of LAYOUT_INFLATER_SERVICE
			LayoutInflater layoutInflater = (LayoutInflater) this
					.getSystemService(LAYOUT_INFLATER_SERVICE);
			View view = layoutInflater.inflate(R.layout.popup_window_layout,
					null);
			popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT,
					LayoutParams.WRAP_CONTENT);
		}
		// show popup window on specified location and update it
		popupWindow.showAtLocation(this.findViewById(R.id.LinearLayout_main),
				Gravity.CENTER_VERTICAL, 20, 20);
		popupWindow.update();
	}

	/**
	 * clos popup window if popup window is not null
	 */
	private void closePopupWindow() {
		if (popupWindow != null) {
			popupWindow.dismiss();
		}
	}


3. 创建一个Button控件来控制PopupWindow的显示与消失
// initialize bShow button and set an OnClickListener to it
		bShow = (Button) this.findViewById(R.id.Button_show_popupwindow);
		bShow.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				if (!isClick) {
					showPopupWindow();
					isClick = true;
				} else {
					closePopupWindow();
					isClick = false;
				}
			}
		});


注意事项:

        PopupWindow必须在click action中显示或者是开启一个线程去显示,不能直在
        oncreate的时候显示一个PopupWindow
1
1
分享到:
评论

相关推荐

    android 实现右上角PopupWindow弹出

    在Android应用开发中,PopupWindow是一个非常实用的组件,它能提供一种轻量级的对话框效果,可以在屏幕上的任意位置弹出,并且可以自定义其内容和样式。本示例将详细介绍如何实现一个位于右上角、类似QQ设置功能的...

    Android PopupWindow使用

    PopupWindow是Android SDK提供的一个类,它可以创建浮动窗口,并且可以在屏幕上的任意位置显示。它不是Activity的一部分,而是直接附加到视图层次结构上,因此可以更加灵活地控制其显示位置和大小。 创建...

    android自定义通用PopupWindow

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它允许我们创建弹出式窗口,用于显示一些临时信息或者交互操作。本教程将详细讲解如何封装一个通用的`PopupWindow`,以便在项目中复用,降低代码冗余,提高...

    Android 点击listview弹出popupwindow弹出框

    本篇将详细介绍如何在用户点击`ListView`时弹出一个包含`PopupWindow`的弹出框,并且这个`PopupWindow`内还具有`ListView`的右滑删除功能。 首先,我们需要创建`PopupWindow`。`PopupWindow`的构造函数通常接收三个...

    Android从屏幕底部弹出PopupWindow

    在Android开发中,PopupWindow是一种常用的UI组件,它可以在屏幕上的任意位置显示一个浮动窗口,通常用于实现类似下拉菜单、提示框等效果。在这个场景中,我们要实现的是从屏幕底部弹出的PopupWindow,并带有滑动...

    android popupwindow 底部灰色背景

    在Android开发中,PopupWindow是一个非常实用的组件,它允许我们创建浮动窗口,可以在Activity的任何位置显示。在实现特定的UI设计时,比如底部弹出菜单或对话框,我们可能会遇到需要添加底部灰色背景的需求。这个...

    Android PopupWindow实现右侧、左侧和底部弹出菜单

    PopupWindow是Android中的一个类,它允许开发者创建浮动的窗口,可以显示在任何视图之上。它通常用于创建快速操作菜单、提示信息等。PopupWindow的特性包括大小可变、背景可透明、支持动画效果等,这使得它成为设计...

    Android popupwindow 示例程序一

    在这个"Android PopupWindow 示例程序一"中,通过实践和测试,开发者不仅学习了如何创建PopupWindow,还了解了如何定位PopupWindow以及处理其内部控件的事件。这个项目是一个很好的起点,帮助开发者深入理解...

    Android 多级PopupWindow的小demo.zip

    首先,PopupWindow是Android SDK中的一个类,它允许开发者创建一个可以浮动在Activity之上的窗口。通常用于实现下拉菜单、提示框等效果。与Dialog相比,PopupWindow更加灵活,可以在界面上任何位置显示,并且能够...

    Android自定义下拉框(PopupWindow实现)

    PopupWindow是Android提供的一种轻量级窗口,可以用来弹出一个浮动视图。它通常用于创建快捷菜单、下拉列表或者其他临时性的UI元素。PopupWindow具有高度的可定制性,可以设置背景、宽度、高度、动画效果等。 下面...

    Android 仿微信右上角popupwindow.rar

    在Android开发中,微信右上角的popupwindow是一种常见的交互设计,它通常用于展示下拉菜单、快捷操作等。这个项目“Android 仿微信右上角popupwindow.rar”旨在实现与微信类似的popupwindow效果,解决在实际开发中...

    Android案例页面底部弹框PopupWindow+竖直滑动选择器WheelView的实现

    在Android开发中,`PopupWindow`和`WheelView`是两个非常重要的组件,它们可以用于构建丰富的用户交互界面。`PopupWindow`常用于创建底部弹出框,而`WheelView`则是一个可滚动的选择器,通常用于日期选择、时间选择...

    Android 简单封装一个精美、好用的菜单型PopupWindow

    在Android开发中,PopupWindow是一个非常实用的组件,它可以用于创建弹出式窗口,提供临时性的用户交互。本文将深入探讨如何在Android中简单封装一个精美、易用的菜单型PopupWindow,以满足用户界面的需求。 首先,...

    Android应用源码之多级PopupWindow的小demo.zip

    1. **创建PopupWindow实例**:首先,你需要创建一个PopupWindow对象,传入一个View作为内容视图、宽度和高度。例如: ```java View popupView = LayoutInflater.from(context).inflate(R.layout.popup_window, ...

    android自定义popupwindow仿微信右上角弹出菜单效果

    在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建各种弹出式菜单或对话框。本文将详细介绍如何使用`PopupWindow`在Android应用中模仿微信右上角的弹出菜单效果。 首先,我们需要理解`...

    Android之用PopupWindow实现弹出listview形式的菜单

    2. **创建PopupWindow**:在Java代码中,实例化`PopupWindow`,传入你想要显示的视图,通常是包含`ListView`的布局。 ```java LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_...

    Android TV 开发有关PopupWindow的KeyListener

    PopupWindow是Android提供的一个类,用于在当前视图之上显示一个浮动窗口。这个窗口可以包含任何View,比如一个自定义布局,一个ListView,甚至只是一个简单的TextView。通过设置PopupWindow的位置、大小和背景,...

    Android高级应用源码-PopupWindow模仿UC底部Menu.zip

    在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种浮现在当前视图之上的小型窗口,常用于实现类似下拉菜单、提示框等效果。本项目"Android高级应用源码-PopupWindow模仿UC底部Menu.zip"显然是一个...

    安卓Android源码——仿微信popupwindow.zip

    2. **使用方法**:创建PopupWindow对象,设置内容视图、宽度和高度,然后通过showAsDropDown()或showAtLocation()方法将其显示在指定位置。 3. **自定义布局**:在"weixinpopup"文件夹中,开发者可能定义了与微信...

Global site tag (gtag.js) - Google Analytics