package com.ttj.view; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Color; 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.view.WindowManager; import android.widget.EditText; import android.widget.PopupWindow; import android.widget.PopupWindow.OnDismissListener; import android.widget.TextView; import com.ttj.R; import com.ttj.utils.ToastUtil; /** * 宝贝详情界面的弹窗 */ @SuppressLint("CommitPrefEdits") public class CollectPopWindow2 implements OnDismissListener, OnClickListener { private TextView pop_text_add, pop_text_reduction, pop_text_ok, pop_text_cancle; private EditText pop_edit_num; private PopupWindow popupWindow; private OnItemClickListener listener; private int defaultNum = 1; private Context context; public CollectPopWindow2(Context context) { this.context = context; View view = LayoutInflater.from(context).inflate( R.layout.p2_pop_collect_layout2, null); pop_text_add = (TextView) view.findViewById(R.id.pop_add); pop_text_reduction = (TextView) view.findViewById(R.id.pop_reduce); pop_text_ok = (TextView) view.findViewById(R.id.pop_ok); pop_text_cancle = (TextView) view.findViewById(R.id.pop_cancle); pop_edit_num = (EditText) view.findViewById(R.id.pop_num); popupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); // 设置popwindow的动画效果 popupWindow.setAnimationStyle(R.style.popWindow_anim_style); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); popupWindow.setOnDismissListener(this);// 当popWindow消失时的监听 pop_edit_num.setText(defaultNum + ""); pop_text_add.setOnClickListener(this); pop_text_reduction.setOnClickListener(this); pop_text_ok.setOnClickListener(this); pop_text_cancle.setOnClickListener(this); pop_edit_num.setSelection(pop_edit_num.getText().length()); popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED); popupWindow .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } public void setOnDismissListener() { } public interface OnItemClickListener { /** 设置点击确认按钮时监听接口 */ public void onClickOKPop(int defaultNum); public void onCanclePop(); } /** 设置监听 */ public void setOnItemClickListener(OnItemClickListener listener) { this.listener = listener; } // 当popWindow消失时响应 @Override public void onDismiss() { } /** 弹窗显示的位置 */ public void showAsDropDown(View parent) { popupWindow.showAtLocation(parent, Gravity.BOTTOM, 0, 0); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.update(); } /** 消除弹窗 */ public void dissmiss() { popupWindow.dismiss(); } @Override public void onClick(View v) { if (v == pop_text_add) { defaultNum++; pop_edit_num.setText(defaultNum + ""); } else if (v == pop_text_reduction) { if (defaultNum == 1) { ToastUtil.show(context, "最少一件哦,亲", 500); return; } defaultNum--; pop_edit_num.setText(defaultNum + ""); } else if (v == pop_text_ok) { defaultNum = Integer.parseInt(pop_edit_num.getText().toString()); listener.onClickOKPop(defaultNum); dissmiss(); } else if (v == pop_text_cancle) { listener.onCanclePop(); dissmiss(); } } }