概述:
PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。
//得到跳转视图
View view=getLayoutInflater().inflate(R.layout.toast_layout,null);
final
PopupWindow pw =newPopupWindow(view);
pw.setFocusable(true);//获得焦点,点击消失
//效果设置
pw.setAnimationStyle(R.style.pop);
ColorDrawable cd=newColorDrawable();
pw.setBackgroundDrawable(cd);
b1.setOnClickListener(newView.OnClickListener()
{
@Override
public voidonClick(View view) {
pw.setWidth(view.getWidth());
//获取屏幕高度
intheight=getResources().getDisplayMetrics().heightPixels/2;
pw.setHeight(height);
pw.showAsDropDown(view,0,0);//指定位置和坐标显示和下面方法类似
//指定位置和坐标显示
pw.showAtLocation(view, Gravity.TOP|
Gravity.RIGHT,0,200);
}
});
总结:
先得到跳转视图,显示跳转的页面
然后新建PopWindow,设置是否获得焦点setFocusable(true或者false)
进行相应的效果设置.setAnimationStyle(动画效果在anim 里面自己设置)
对需要跳转的控件监听,然后设置跳转页面的大小和位置