package com.flyco.dialogsamples.extra;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.view.View;
import android.widget.LinearLayout;
import com.flyco.animation.BaseAnimatorSet;
import com.flyco.dialog.widget.base.BottomBaseDialog;
import com.flyco.dialogsamples.R;
import com.flyco.dialogsamples.utils.T;
import butterknife.Bind;
import butterknife.ButterKnife;
public class IOSTaoBaoDialog extends BottomBaseDialog<IOSTaoBaoDialog> {
@Bind(R.id.ll_wechat_friend_circle) LinearLayout mLlWechatFriendCircle;
@Bind(R.id.ll_wechat_friend) LinearLayout mLlWechatFriend;
@Bind(R.id.ll_qq) LinearLayout mLlQq;
@Bind(R.id.ll_sms) LinearLayout mLlSms;
public IOSTaoBaoDialog(Context context, View animateView) {
super(context, animateView);
}
public IOSTaoBaoDialog(Context context) {
super(context);
}
@Override
public View onCreateView() {
View inflate = View.inflate(mContext, R.layout.dialog_ios_taobao, null);
ButterKnife.bind(this, inflate);
return inflate;
}
@Override
public void setUiBeforShow() {
mLlWechatFriendCircle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
T.showShort(mContext, "朋友圈");
dismiss();
}
});
mLlWechatFriend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
T.showShort(mContext, "微信");
dismiss();
}
});
mLlQq.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
T.showShort(mContext, "QQ");
dismiss();
}
});
mLlSms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
T.showShort(mContext, "短信");
dismiss();
}
});
}
private BaseAnimatorSet mWindowInAs;
private BaseAnimatorSet mWindowOutAs;
@Override
protected BaseAnimatorSet getWindowInAs() {
if (mWindowInAs == null) {
mWindowInAs = new WindowsInAs();
}
return mWindowInAs;
}
@Override
protected BaseAnimatorSet getWindowOutAs() {
if (mWindowOutAs == null) {
mWindowOutAs = new WindowsOutAs();
}
return mWindowOutAs;
}
class WindowsInAs extends BaseAnimatorSet {
@Override
public void setAnimation(View view) {
ObjectAnimator rotationX = ObjectAnimator.ofFloat(view, "rotationX", 10, 0f).setDuration(150);
rotationX.setStartDelay(200);
animatorSet.playTogether(
ObjectAnimator.ofFloat(view, "scaleX", 1.0f, 0.8f).setDuration(350),
ObjectAnimator.ofFloat(view, "scaleY", 1.0f, 0.8f).setDuration(350),
// ObjectAnimator.ofFloat(view, "alpha", 1.0f, 0.5f).setDuration(350),
ObjectAnimator.ofFloat(view, "rotationX", 0f, 10).setDuration(200),
rotationX,
ObjectAnimator.ofFloat(view, "translationY", 0, -0.1f * mDisplayMetrics.heightPixels).setDuration(350)
);
}
}
class WindowsOutAs extends BaseAnimatorSet {
@Override
public void setAnimation(View view) {
ObjectAnimator rotationX = ObjectAnimator.ofFloat(view, "rotationX", 10, 0f).setDuration(150);
rotationX.setStartDelay(200);
animatorSet.playTogether(
ObjectAnimator.ofFloat(view, "scaleX", 0.8f, 1.0f).setDuration(350),
ObjectAnimator.ofFloat(view, "scaleY", 0.8f, 1.0f).setDuration(350),
// ObjectAnimator.ofFloat(view, "alpha", 1.0f, 0.5f).setDuration(350),
ObjectAnimator.ofFloat(view, "rotationX", 0f, 10).setDuration(200),
rotationX,
ObjectAnimator.ofFloat(view, "translationY", -0.1f * mDisplayMetrics.heightPixels, 0).setDuration(350)
);
}
}
}