PopWindow的使用

方法1:
public PopupWindow pop=null;
public View pop_view;
--------------------
pop_view = getLayoutInflater().inflate(R.layout.list_pop, null,false);
pop= new
PopupWindow(pop_view,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
lv_client_droplist = (ListView) popupWindow_view.findViewById(R.id.lv_client_droplist);

//popupWindow.showAtLocation(findViewById(R.id.parent), Gravity.CENTER| Gravity.CENTER, 0, 0);
--------------------
private void dismissPopupWindow() {
        if (popwindow != null && popwindows.isShowing()) {
             popwindow.dismiss();
             popwindow = null;
        }
}    

@Override
protected void onDestroy() {
       super.onDestroy();
       dismissPopupWindow();
}

------------------------------------------------------------------------------

注意:
pop= new PopupWindow(pop_view,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,true);
可以换为:
pop= new PopupWindow(pop_view,-2,-2,true);
popupWindow.dismiss()方法只能关闭显示的窗口并不能释放内存,所以每show一次内存一直在增加。
-------------------------------------------------------------------------------
方法2:
    private PopupWindow popwindow;
    private View pop_view;
    ---------------
    pop_view.setFocusable(true);  //锁定后面界面
    popwindow = new PopupWindow(pop_view,-2,-2,true);
    popwindow.setAnimationStyle(R.style.PopupAnimation);
    popwindow.setBackgroundDrawable(new BitmapDrawable());
    popwindow.showAtLocation(findViewById(R.id.parent), Gravity.LEFT| Gravity.TOP, 10, 50);
    popwindow.update();

posted on 2014-01-10 15:48  清凉一夏之博客  阅读(1117)  评论(0编辑  收藏  举报