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
分享到:
相关推荐
在Android应用开发中,PopupWindow是一个非常实用的组件,它能提供一种轻量级的对话框效果,可以在屏幕上的任意位置弹出,并且可以自定义其内容和样式。本示例将详细介绍如何实现一个位于右上角、类似QQ设置功能的...
PopupWindow是Android SDK提供的一个类,它可以创建浮动窗口,并且可以在屏幕上的任意位置显示。它不是Activity的一部分,而是直接附加到视图层次结构上,因此可以更加灵活地控制其显示位置和大小。 创建...
在Android开发中,`PopupWindow` 是一个非常实用的组件,它允许我们创建弹出式窗口,用于显示一些临时信息或者交互操作。本教程将详细讲解如何封装一个通用的`PopupWindow`,以便在项目中复用,降低代码冗余,提高...
本篇将详细介绍如何在用户点击`ListView`时弹出一个包含`PopupWindow`的弹出框,并且这个`PopupWindow`内还具有`ListView`的右滑删除功能。 首先,我们需要创建`PopupWindow`。`PopupWindow`的构造函数通常接收三个...
在Android开发中,PopupWindow是一种常用的UI组件,它可以在屏幕上的任意位置显示一个浮动窗口,通常用于实现类似下拉菜单、提示框等效果。在这个场景中,我们要实现的是从屏幕底部弹出的PopupWindow,并带有滑动...
在Android开发中,PopupWindow是一个非常实用的组件,它允许我们创建浮动窗口,可以在Activity的任何位置显示。在实现特定的UI设计时,比如底部弹出菜单或对话框,我们可能会遇到需要添加底部灰色背景的需求。这个...
PopupWindow是Android中的一个类,它允许开发者创建浮动的窗口,可以显示在任何视图之上。它通常用于创建快速操作菜单、提示信息等。PopupWindow的特性包括大小可变、背景可透明、支持动画效果等,这使得它成为设计...
在这个"Android PopupWindow 示例程序一"中,通过实践和测试,开发者不仅学习了如何创建PopupWindow,还了解了如何定位PopupWindow以及处理其内部控件的事件。这个项目是一个很好的起点,帮助开发者深入理解...
首先,PopupWindow是Android SDK中的一个类,它允许开发者创建一个可以浮动在Activity之上的窗口。通常用于实现下拉菜单、提示框等效果。与Dialog相比,PopupWindow更加灵活,可以在界面上任何位置显示,并且能够...
PopupWindow是Android提供的一种轻量级窗口,可以用来弹出一个浮动视图。它通常用于创建快捷菜单、下拉列表或者其他临时性的UI元素。PopupWindow具有高度的可定制性,可以设置背景、宽度、高度、动画效果等。 下面...
在Android开发中,微信右上角的popupwindow是一种常见的交互设计,它通常用于展示下拉菜单、快捷操作等。这个项目“Android 仿微信右上角popupwindow.rar”旨在实现与微信类似的popupwindow效果,解决在实际开发中...
在Android开发中,`PopupWindow`和`WheelView`是两个非常重要的组件,它们可以用于构建丰富的用户交互界面。`PopupWindow`常用于创建底部弹出框,而`WheelView`则是一个可滚动的选择器,通常用于日期选择、时间选择...
在Android开发中,PopupWindow是一个非常实用的组件,它可以用于创建弹出式窗口,提供临时性的用户交互。本文将深入探讨如何在Android中简单封装一个精美、易用的菜单型PopupWindow,以满足用户界面的需求。 首先,...
1. **创建PopupWindow实例**:首先,你需要创建一个PopupWindow对象,传入一个View作为内容视图、宽度和高度。例如: ```java View popupView = LayoutInflater.from(context).inflate(R.layout.popup_window, ...
在Android开发中,`PopupWindow` 是一个非常实用的组件,它可以用来创建各种弹出式菜单或对话框。本文将详细介绍如何使用`PopupWindow`在Android应用中模仿微信右上角的弹出菜单效果。 首先,我们需要理解`...
2. **创建PopupWindow**:在Java代码中,实例化`PopupWindow`,传入你想要显示的视图,通常是包含`ListView`的布局。 ```java LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_...
PopupWindow是Android提供的一个类,用于在当前视图之上显示一个浮动窗口。这个窗口可以包含任何View,比如一个自定义布局,一个ListView,甚至只是一个简单的TextView。通过设置PopupWindow的位置、大小和背景,...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种浮现在当前视图之上的小型窗口,常用于实现类似下拉菜单、提示框等效果。本项目"Android高级应用源码-PopupWindow模仿UC底部Menu.zip"显然是一个...
2. **使用方法**:创建PopupWindow对象,设置内容视图、宽度和高度,然后通过showAsDropDown()或showAtLocation()方法将其显示在指定位置。 3. **自定义布局**:在"weixinpopup"文件夹中,开发者可能定义了与微信...