PopupWindow 的简单使用
以下三步可以直接通过构造函数进行一次性定义
-
创建popupWindow对象
PopupWindow popupWindow = new PopupWindow();
-
设置内部填充的布局
popupWindow.setContentView(View);
-
设置popupWindow的宽高
popupWindow.setindowLayoutMode(width,height);
-
设置popupWindow在点击外部时,消失
popupWindow.setBackgroundDrawable(new BitmapDrawable()); popupWindow.setOutsideTouchable(true);
-
设置popupWindow的动画
-
首先需要定义两个动画,一个是出现动画,一个是隐藏动画
//出现动画 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromYDelta="-100%" android:toYDelta="0" > </translate> </set> //隐藏动画 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="300" android:fromYDelta="0" android:toYDelta="-100%" /> </set>
-
注册样式
<style name="popupwindow_anim_style"> <item name="android:windowEnterAnimation">@anim/anim_popup</item> <item name="android:windowExitAnimation">@anim/anim_popup_out</item> </style>
-
代码中引用样式
popupWindow.setAnimationStyle(R.style.popupwindow_anim_style);
-
-
设置popupWindow显示的位置
-
显示在控件的下方
popupWindow.showAsDropDown(parent);
-
显示在其他位置
popupWindow.showAtLocation(parent, gravity, x, y);
-