package net.coding.program.project; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.PopupWindow; import android.widget.TextView; import net.coding.program.common.util.DensityUtil; import net.coding.program.R; /** * Created by Vernon on 15/11/17. */ public class ProjectActionUtil extends PopupWindow implements View.OnClickListener { private Context mContext; // 上下文 private TextView txtSetting; private OnSettingListener listener; private int pos; public ProjectActionUtil(Context context) { super(context); this.mContext = context; init(); } public void setListener(OnSettingListener listener) { this.listener = listener; } private void init() { View view = LayoutInflater.from(mContext).inflate(R.layout.popu_menu_action, null); view.setOnClickListener(this); setContentView(view); setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); setOutsideTouchable(true); setTouchable(true); setFocusable(true); setBackgroundDrawable(new BitmapDrawable()); // 初始化动画 setAnimationStyle(R.style.popwin_anim_style); findViewById(view); setListener(); } public TextView getTxtSetting() { return txtSetting; } public void close() { dismiss(); } private void setListener() { txtSetting.setOnClickListener(this); } private void findViewById(View view) { txtSetting = (TextView) view.findViewById(R.id.txtSetting); } public void show(View parentView, int postion) { this.pos = postion; showAsDropDown(parentView, -DensityUtil.dip2px(mContext, 24), -DensityUtil.dip2px(mContext, 107)); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.txtSetting: listener.doAction(pos); break; } } public interface OnSettingListener { void doAction(int pos); } }