您的位置:首页 > 移动开发 > Android开发

Android PopupWindow

2015-12-18 16:56 423 查看

1、继承关系

java.lang.Object

android.widget.PopupWindow

2、构造函数

1、PopupWindow(Context context)

2、PopupWindow(View contentView)

3、PopupWindow(View contentView, intwidth, int height)

例如

PopupWindow popupWindow = newPopupWindow(contextLayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

//,LayoutParams.WRAP_CONTENT==-2

3、设置包含的view

setContentView(view)

4、设置宽和高

public void setWindowLayoutMode (intwidthSpec, int heightSpec)

5、显示出来

showAtLocation(View parent, int gravity, int x, int y)

通常是

int[]location = newint[2];

view.getLocationInWindow(location);

popupWindow.showAtLocation(parent,Gravity.LEFT|Gravity.TOP,location[0],location[1]);

6、取消

popupWindow.dismiss();

7、注意

1、要在onDestory()中调用popupWindow.dismiss();因为悬浮窗体是挂在Activity上的,当activity销毁的时候,如果不回收PopupWindow,那么就会造成内存泄漏

2、PopupWindow要设置宽高,否则不能运行

8、常用方法

popWin.showAsDropDown(View anchor,int xoffset ,int yoffset);

设置popWin显示在哪个View下面,并且设置偏移量

popWin.setOutsideTouchable(true)

点击popwindow以外区域后,自动关闭popwindow

9、Demo

PopupWindow ppWindow = newPopupWindow(getApplicationContext(),200,200);

TextView textView = newTextView(getApplicationContext());

textView.setText("HelloPopupWindow");

ppWindow.setContentView(textView);

ppWindow.showAsDropDown(upView,0,0);//设置PopupWindow在UPView的正下方
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: