Android弹出式窗口PopuWindow的使用

使用PopuWindow需要注意两个精髓。
1.就是PopuWindow的显示
2.PopuMenu加载布局文件


步骤:
1.创建一个PopuWindow对象

               PopuWindow popuwindow;

2.转换布局文件

View popuMenu=getLayoutInflater.inflater(R.layout.menu,null,false);
@Param:要加载的布局文件
@Param: 父布局文件,一般为null;
@Param: 暂不知意思,一般为flase。

3.将布局文件加载到PopuWindow中
popuWindow=new PopuWindow(popuMenu,ActionBar.LayoutParams.WRAP_CONTNET,ActionBar.LayoutParams.WRAP_CONTNET,true);
@Param:要加载的布局文件
@Param:窗口宽度
@Param:窗口高度
@Param:是否获取焦点
4.显示弹窗
以控件为中心坐标图:
popupWindow.showAsDropDown(findViewById(R.id.btn_menu),0,0);
@Param:触发控件ID
@Param:与控件的位置X
@Param:位置Y
以整个屏幕为坐标图:
popupWindow.showAtLocation(findViewById(R.id.main_layout), Gravity.CENTER,0,0);
@Param:要显示popuWindow的容器
@Param:对其方式
@Param:X偏移量
@Param:Y偏移量

5.点击其它地方关闭弹出窗口

popuMenu.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(popupWindow!=null&&popupWindow.isShowing()){
popupWindow.dismiss();
popupWindow=null;
}
return false;
}
});

你可能感兴趣的:(android)