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及DialogFragment。创建并实现PopupWindow布局 实现PopupWindow对象实例 设置PopupWindow背景、动画属性、控件实现及事件监听 显示PopupWindow及位置设定。
一个基于PopupWindow的简单库用于在Android中创建Tooltips
项目地址:https://github.com/u1aryz/Android-NewPopupMenu 效果图:如何使用创建菜单实例PopupMenuPopupMenu menu = new PopupMenu(this); menu.setHeaderTitle("这是title");//设置menu的标题2. 设置菜单...
自己写的一个popupWindow的小工具,简化一下一些简单popupWindow的创建。 详细见:http://blog.csdn.net/c786909486/article/details/74952338
PopupWindow是一个弹出式窗口,它可以展示任意View。他会浮在当前窗口的上方展示。 下面看代码: 代码如下:public class MyActivity extends Activity{ private PopupWindow menu; private LayoutInflater ...
在创建PopupWindow时,你需要将刚才定义的布局文件作为参数传入。这样,当PopupWindow显示时,它就会具有你设置的半透明背景。 最后,确保你的PopupWindow具有适当的尺寸和位置,以便在屏幕上正确显示。你可以通过...
前几天要用到PopupWindow... 创建PopupWindow对象实例; 设置背景、注册事件监听器和添加动画; 显示PopupWindow。 其中,第二步是可选的(不过基本上都要进行第二步的设置)。下面是一个简单的例子: // 用于Popup
本文实例讲述了Android编程中popupwindow用法。...//创建一个包含自定义view的PopupWindow private PopupWindow makePopupWindow(Context cx) { PopupWindow window; window = new PopupWindow(cx); Te
Android简单工具提示 一个基于简单库,可在Android上创建工具提示。特征从Android 4.0(API 14)工作使用简单:单行代码中的参数很少具有速度和大小控制的动画可以通过触摸工具提示的内部或外部来关闭。 模态模式...
WPopup - 一个简单使用并且高度定制的Popupwindow 自动设置show的位置 自动设置倒三角的位置 跟随手指点按位置弹出 几行代码设置朋友圈点击弹出点赞和回复弹出框(全部使用一个...
1. PopupWindow 的构造器创建PopupWindow对象 2. PopupWindow 的showAsDropDown() 将其显示效果设置为下拉显示 3. PopupWindow 的showAtLoacation() 方法将PopupWindow() 在指定位置显示出来 下拉显示效果: 具体...
创建popupwindow,并且给其边框加上好看的效果。与当前流行app:qq、微信、钉钉的popupwindow效果基本一致。
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...
本demo包含有文件的自动创建功能、文件上传、其中还用到了popupWindow弹出框
Android高手进阶教程之----Android 在一个应用中如何启动另外一个已安装的应用!!!.doc Android高手进阶教程之----Android 中LayoutInflater的使用! .doc Android高手进阶教程之----Android 中MenuInflater的使用...
参考原文Android PopupWindow用法解析进行学习,通过实例及PopupWindow源码分析...而在6.0版本的PopupWindow的preparePopup方法中,无论是否setBackgroundDrawable,最终都要创建PopupDecorView实例来生成视图,而Popup
其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个GridView控件,一个是菜单标题栏,一个是菜单选项。菜单选项视图的切换可以通过适配器的变换,轻松地实现。点击下载该实例:一、运行截图: ...