package com.fanxin.huangfangyi.main.moments;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.fanxin.huangfangyi.R;
public class AddPopWindow extends PopupWindow {
private View conentView;
private Activity context;
public AddPopWindow(final Activity context, ImageView iv_temp, final ClickCallBack clickCallBack) {
this.context=context;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
conentView = inflater.inflate(R.layout.fx_popwindow_moments, null);
// 设置SelectPicPopupWindow的View
this.setContentView(conentView);
// 设置SelectPicPopupWindow弹出窗体的宽
this.setWidth(LayoutParams.WRAP_CONTENT);
// 设置SelectPicPopupWindow弹出窗体的高
this.setHeight(LayoutParams.WRAP_CONTENT);
// 设置SelectPicPopupWindow弹出窗体可点击
this.setFocusable(true);
this.setOutsideTouchable(true);
// 刷新状态
this.update();
// 实例化一个ColorDrawable颜色为半透明
ColorDrawable dw = new ColorDrawable(0000000000);
// 点back键和其他地方使其消失,设置了这个才能触发OnDismisslistener ,设置其他控件变化等操作
this.setBackgroundDrawable(dw);
// 设置SelectPicPopupWindow弹出窗体动画效果
this.setAnimationStyle(R.style.AnimationPreview);
LinearLayout ll_zan = (LinearLayout) conentView
.findViewById(R.id.ll_zan);
LinearLayout ll_pl = (LinearLayout) conentView.findViewById(R.id.ll_pl);
TextView tv_good = (TextView) conentView.findViewById(R.id.tv_good);
tv_good.setText((String) iv_temp.getTag());
ll_zan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// context.startActivity(new
clickCallBack.clicked(1);
AddPopWindow.this.dismiss();
}
});
ll_pl.setOnClickListener(new OnClickListener() {
// 扫一扫 ,调出扫二维码 gongfan
@Override
public void onClick(View v) {
clickCallBack.clicked(2);
AddPopWindow.this.dismiss();
}
});
}
/**
* 显示popupWindow
*
* @param parent
*/
public void showPopupWindow(View parent) {
if (!this.isShowing()) {
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
conentView.measure(w, h);
int height =conentView.getMeasuredHeight();
int width =conentView.getMeasuredWidth();
//
// this.showAsDropDown(parent, 0, 0);
// this.showAtLocation(parent, gravity, x, y);
int[] location = new int[2];
parent.getLocationOnScreen(location);
this.showAtLocation(parent, Gravity.NO_GRAVITY,
location[0]-width, location[1]);
} else {
this.dismiss();
}
}
/**
*
*
*/
public interface ClickCallBack {
void clicked(int type);
}
}