privatePopupWindow pw;
pw=new PopupWindow(view, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); TextView tv1=(TextView) view.findViewById(R.id.text); tv1.setOnClickListener(this); pw.setBackgroundDrawable(new ColorDrawable()); pw.setOutsideTouchable(true);//设置点击外部的时候,窗口也可以消失
//// pw.setFocusable(true);//设置焦点 // pw.setTouchable(true);//设置是否可以触摸 // pw.setTouchInterceptor(new OnTouchListener() { // @Override // public boolean onTouch(View v, MotionEvent event) { // if(pw!=null && pw.isShowing()){ // pw.dismiss(); // pw=null; // } // return false; // } // });
设置显示和显示方法
pw.showAtLocation(view, Gravity.BOTTOM, 0, 0);
设置消失
pw.dismiss();
设置Popuwindow的效果:
pw.setAnimationStyle(R.style.popwin_anim_style);
<style name="popwin_anim_style"> <item name="android:windowEnterAnimation">@anim/menushow</item> <item name="android:windowExitAnimation">@anim/menuhide</item> </style>
menushow.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="0" android:fromYDelta="300" android:toYDelta="0" android:duration="200" /> </set>
menuhide
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="0" android:fromYDelta="0" android:toYDelta="300" android:duration="200" /> </set>