package us.pinguo.edit.sdk.view;
import android.app.Activity;
import android.view.View;
import android.view.animation.Animation;
import us.pinguo.edit.sdk.R;
import us.pinguo.edit.sdk.base.bean.PGEditTiltShiftMenuBean;
import us.pinguo.edit.sdk.base.view.IPGEditTiltShiftSeekBarView;
import us.pinguo.edit.sdk.base.view.IPGEditTiltShiftSeekBarViewListener;
import us.pinguo.edit.sdk.base.view.PGEditTiltShiftOnSeekChangeListener;
import us.pinguo.edit.sdk.base.view.PGEditTiltShiftSeekBar;
import us.pinguo.edit.sdk.base.widget.AnimationAdapter;
/**
* Created by litao on 14/12/8.
*/
public class PGEditTiltShiftSeekBarView implements View.OnClickListener, IPGEditTiltShiftSeekBarView {
private PGEditSeekbarLayout mSeekLayout;
private View mCancelBtn;
private View mConfirmBtn;
private PGEditTiltShiftSeekBar mSeekBar;
private IPGEditTiltShiftSeekBarViewListener mListener;
public void initView(Activity activity) {
mSeekLayout = (PGEditSeekbarLayout) activity.findViewById(R.id.tiltshift_seekbar_layout);
mSeekBar = (PGEditTiltShiftSeekBar) mSeekLayout.findViewById(R.id.seek_bar);
mSeekBar.setTextHeight(activity.getResources().getDimension(R.dimen.pg_sdk_edit_tilt_shift_seekbar_text_size));
mSeekBar.setTags(PGEditTiltShiftMenuBean.Tags);
mSeekBar.setThumbDrawable(activity.getResources().getDrawable(
R.drawable.pg_sdk_edit_tilt_shift_seekbar_thumb));
mCancelBtn = mSeekLayout.findViewById(R.id.cancel);
mCancelBtn.setOnClickListener(this);
mConfirmBtn = mSeekLayout.findViewById(R.id.confirm);
mConfirmBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (null == mListener) {
return;
}
if (mCancelBtn == v) {
mListener.onCancelBtnClick();
return;
}
if (mConfirmBtn == v) {
mListener.onConfirmBtnClick();
return;
}
}
public void setListener(IPGEditTiltShiftSeekBarViewListener listener) {
mListener = listener;
}
public void showValueSeekLayout(String tag) {
mSeekLayout.setVisibility(View.VISIBLE);
mSeekLayout.showWithAnimation();
mSeekBar.setOnSeekChangeListener(null);
mSeekBar.reset();
mSeekBar.setPosition(tag);
mSeekBar.setOnSeekChangeListener(new PGEditTiltShiftOnSeekChangeListener() {
@Override
public void onSeekChanged(String tag, int index) {
if (null != mListener) {
mListener.onSeekValueChanged(tag, index);
}
}
@Override
public void onSeekStopped(String tag, int index) {
if (null != mListener) {
mListener.onSeekStopped(tag, index);
}
}
});
}
public void hideWithAnimation() {
mSeekLayout.hideWithAnimation(new AnimationAdapter() {
@Override
public void onAnimationEnd(Animation animation) {
mSeekLayout.setVisibility(View.GONE);
}
});
}
public void confirm() {
onClick(mConfirmBtn);
}
public void cancel() {
onClick(mCancelBtn);
}
public boolean isSeekBarVisible() {
return mSeekLayout.getVisibility() == View.VISIBLE;
}
}