前言
需要了解PopupWindow的朋友参考下面链接:
www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0702/1627.html
blog.csdn.net/zhaizu/article/details/48199517
PopupWindow的简单封装
easyPopWindow = new EasyPopWindow(this)
.setInflaterLayout(R.layout.sharepopwidow)//传入需要显示的布局
.setLocationLayout(R.id.btn_center)//传入父布局中的一个布局
.setGravity(Gravity.NO_GRAVITY)//window的显示情况
.isShowAsDropDown(false)是否显示在控件下方
.isShowShadow(false)//是否有膜
.isOutSideTouch(true)//点击其他部分popwindow是否消失,默认点击可消失
.setAnimotionStyle(R.style.mypopwindow_anim_style)//显示动画
.setWidth(WindowManager.LayoutParams.WRAP_CONTENT)//显示布局的宽
.setHeight(WindowManager.LayoutParams.WRAP_CONTENT)//显示布局的高
.setPosition(EasyPopWindow.Position.RIGHT)//相对于父布局显示的位置
.show();
上面代码是需要显示的PopupWindow的一个具体展示,当然一些不需要的可以自行去除。
TextView view = (TextView) easyPopWindow.getView(R.id.pop_text1);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(MainActivity.this,"xxx",Toast.LENGTH_SHORT).show();
}
});
对传入布局中的控件的一个点击事件,即可通过popwinod.getView得到传入布局中的控件,进行一个自己的操作。
easyPopWindow.setOnDismissListener = new EasyPopWindow.setOnDismissListener() {
@Override
public void setOnDismissListener() {
// Toast.makeText(MainActivity.this,"xxx",Toast.LENGTH_SHORT).show();
}
};
对popwindow dimiss的一个监听,可在里面自行操作。