package razerdp.demo.popup; import android.animation.Animator; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.animation.Animation; import android.widget.Button; import android.widget.EditText; import razerdp.basepopup.BasePopupWindow; import razerdp.basepopup.R; import razerdp.demo.utils.ToastUtils; /** * Created by 大灯泡 on 2016/1/18. * 带输入法的popup */ public class InputPopup extends BasePopupWindow implements View.OnClickListener{ private Button mCancelButton; private Button mCompeleteButton; private EditText mInputEdittext; public InputPopup(Activity context) { super(context); mCancelButton= (Button) findViewById(R.id.btn_cancel); mCompeleteButton= (Button) findViewById(R.id.btn_Compelete); mInputEdittext= (EditText) findViewById(R.id.ed_input); setAutoShowInputMethod(true); bindEvent(); } @Override protected Animation initShowAnimation() { return null; } private void bindEvent() { mCancelButton.setOnClickListener(this); mCompeleteButton.setOnClickListener(this); } //=============================================================super methods @Override public Animator initShowAnimator() { return getDefaultSlideFromBottomAnimationSet(); } @Override public EditText getInputView() { return mInputEdittext; } @Override public View getClickToDismissView() { return getPopupWindowView(); } @Override public View onCreatePopupView() { return LayoutInflater.from(getContext()).inflate(R.layout.popup_input,null); } @Override public View initAnimaView() { return findViewById(R.id.popup_anima); } @Override public Animator initExitAnimator() { AnimatorSet set = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { set = new AnimatorSet(); if (initAnimaView() != null) { set.playTogether( ObjectAnimator.ofFloat(initAnimaView(), "translationY", 0, 250).setDuration(400), ObjectAnimator.ofFloat(initAnimaView(), "alpha", 1, 0.4f).setDuration(250 * 3 / 2)); } } return set; } //=============================================================click event @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_cancel: dismiss(); break; case R.id.btn_Compelete: ToastUtils.ToastMessage(getContext(),mInputEdittext.getText().toString()); dismiss(); break; default: break; } } }