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 itif (popupWindow == null) {// get layout inflater from system service of LAYOUT_INFLATER_SERVICELayoutInflater 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 itpopupWindow.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 itbShow = (Button) this.findViewById(R.id.Button_show_popupwindow);bShow.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (!isClick) {showPopupWindow();isClick = true;} else {closePopupWindow();isClick = false;}}});


注意事项:

PopupWindow必须在click action中显示或者是开启一个线程去显示,不能直在
oncreate的时候显示一个PopupWindow

更多相关文章

  1. Android学习札记29:对线程更新UI界面的一些理解(2)
  2. Android的线程和线程池--《Android开发艺术探索》阅读笔记——第
  3. Android/Bluetooth 初始化流程
  4. 【Android】Java四种线程池的使用
  5. Android使用Thread+Handler实现非UI线程更新界面
  6. Android之——多线程断点续传下载示例

随机推荐

  1. EditText的属性说明
  2. android之微信分享图片
  3. Android(安卓)简单通用的基类
  4. Android(安卓)Studio 中的maven仓库使用
  5. Android三种网络通讯机制介绍及区别
  6. Android高仿360安全卫士--布局篇
  7. Android(安卓)OKHTTP3.4版本封装
  8. 判断手机是否支持google play服务
  9. Android画画板的制作方法
  10. Android数据存储之SQLite数据库存储