PopupWindow
PopupWindow也是一个对话框,它与Dialog相似,不同的是它可以设置弹出的对话框的位置、大小,也可以通过它弹出动画等。
//创建PopupWindow对象
popup=new PopupWindow(MainActivity.this);
//获得布局的view
View popview=getLayoutInflater().inflate(R.layout.popup_layput, null);
//设置对话框的宽度、高度 popup.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
popup.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
popup.setContentView(popview);//设置界面
//此时PopuWindow不能获得焦点,不能点击外面消失
popup.setFocusable(false);
//设置外部可点击,使对话框dismiss()
popup.setOutsideTouchable(true);
//设置显示位置,在按钮2的下方显示
popup.showAsDropDown(mbtn2);
popup.setAnimationStyle(R.style.AnimationPreview);//设置动画样式
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
if(popup!=null&&popup.isShowing()){
popup.dismiss();//结束当前PopupWindow
}
}
return true;//返回true使该事件得到响应