package com.flyco.dialogsamples.utils; import android.content.Context; import android.view.View; import android.widget.AdapterView; import com.flyco.dialogsamples.ui.DialogHomeActivity; import com.flyco.animation.Attention.Flash; import com.flyco.animation.Attention.RubberBand; import com.flyco.animation.Attention.ShakeHorizontal; import com.flyco.animation.Attention.ShakeVertical; import com.flyco.animation.Attention.Swing; import com.flyco.animation.Attention.Tada; import com.flyco.animation.BaseAnimatorSet; import com.flyco.animation.BounceEnter.BounceBottomEnter; import com.flyco.animation.BounceEnter.BounceEnter; import com.flyco.animation.BounceEnter.BounceLeftEnter; import com.flyco.animation.BounceEnter.BounceRightEnter; import com.flyco.animation.BounceEnter.BounceTopEnter; import com.flyco.animation.FadeEnter.FadeEnter; import com.flyco.animation.FadeExit.FadeExit; import com.flyco.animation.FallEnter.FallEnter; import com.flyco.animation.FallEnter.FallRotateEnter; import com.flyco.animation.FlipEnter.FlipBottomEnter; import com.flyco.animation.FlipEnter.FlipHorizontalEnter; import com.flyco.animation.FlipEnter.FlipHorizontalSwingEnter; import com.flyco.animation.FlipEnter.FlipLeftEnter; import com.flyco.animation.FlipEnter.FlipRightEnter; import com.flyco.animation.FlipEnter.FlipTopEnter; import com.flyco.animation.FlipEnter.FlipVerticalEnter; import com.flyco.animation.FlipEnter.FlipVerticalSwingEnter; import com.flyco.animation.FlipExit.FlipHorizontalExit; import com.flyco.animation.FlipExit.FlipVerticalExit; import com.flyco.animation.Jelly; import com.flyco.animation.NewsPaperEnter; import com.flyco.animation.SlideEnter.SlideBottomEnter; import com.flyco.animation.SlideEnter.SlideLeftEnter; import com.flyco.animation.SlideEnter.SlideRightEnter; import com.flyco.animation.SlideEnter.SlideTopEnter; import com.flyco.animation.SlideExit.SlideBottomExit; import com.flyco.animation.SlideExit.SlideLeftExit; import com.flyco.animation.SlideExit.SlideRightExit; import com.flyco.animation.SlideExit.SlideTopExit; import com.flyco.animation.ZoomEnter.ZoomInBottomEnter; import com.flyco.animation.ZoomEnter.ZoomInEnter; import com.flyco.animation.ZoomEnter.ZoomInLeftEnter; import com.flyco.animation.ZoomEnter.ZoomInRightEnter; import com.flyco.animation.ZoomEnter.ZoomInTopEnter; import com.flyco.animation.ZoomExit.ZoomInExit; import com.flyco.animation.ZoomExit.ZoomOutBottomExit; import com.flyco.animation.ZoomExit.ZoomOutExit; import com.flyco.animation.ZoomExit.ZoomOutLeftExit; import com.flyco.animation.ZoomExit.ZoomOutRightExit; import com.flyco.animation.ZoomExit.ZoomOutTopExit; import com.flyco.dialog.listener.OnOperItemClickL; import com.flyco.dialog.widget.ActionSheetDialog; import java.util.ArrayList; public class DiaogAnimChoose { public static void showAnim(final Context context) { final Class<?> cs[] = {BounceEnter.class,// BounceTopEnter.class,// BounceBottomEnter.class,// BounceLeftEnter.class,// BounceRightEnter.class,// FlipHorizontalEnter.class,// FlipHorizontalSwingEnter.class,// FlipVerticalEnter.class,// FlipVerticalSwingEnter.class,// FlipTopEnter.class,// FlipBottomEnter.class,// FlipLeftEnter.class,// FlipRightEnter.class,// FadeEnter.class, // FallEnter.class,// FallRotateEnter.class,// SlideTopEnter.class,// SlideBottomEnter.class,// SlideLeftEnter.class, // SlideRightEnter.class,// ZoomInEnter.class,// ZoomInTopEnter.class,// ZoomInBottomEnter.class,// ZoomInLeftEnter.class,// ZoomInRightEnter.class,// NewsPaperEnter.class,// Flash.class,// ShakeHorizontal.class,// ShakeVertical.class,// Jelly.class,// RubberBand.class,// Swing.class,// Tada.class,// }; ArrayList<String> itemList = new ArrayList<>(); for (Class<?> c : cs) { itemList.add(c.getSimpleName()); } final String[] contents = new String[itemList.size()]; final ActionSheetDialog dialog = new ActionSheetDialog(context, // itemList.toArray(contents), null); dialog.title("使用内置show动画设置对话框显示动画\r\n指定对话框将显示效果")// .titleTextSize_SP(14.5f)// .layoutAnimation(null)// .cancelText("cancel") .show(); dialog.setCanceledOnTouchOutside(false); dialog.setOnOperItemClickL(new OnOperItemClickL() { @Override public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) { try { String animType = contents[position]; ((DialogHomeActivity) context).setBasIn((BaseAnimatorSet) cs[position].newInstance()); T.showShort(context, animType + "设置成功"); dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } } }); } public static void dissmissAnim(final Context context) { final Class<?> cs[] = {FlipHorizontalExit.class,// FlipVerticalExit.class,// FadeExit.class,// SlideTopExit.class,// SlideBottomExit.class,// SlideLeftExit.class, // SlideRightExit.class,// ZoomOutExit.class,// ZoomOutTopExit.class,// ZoomOutBottomExit.class,// ZoomOutLeftExit.class,// ZoomOutRightExit.class,// ZoomInExit.class,// }; ArrayList<String> itemList = new ArrayList<String>(); for (Class<?> c : cs) { itemList.add(c.getSimpleName()); } final String[] contents = new String[itemList.size()]; final ActionSheetDialog dialog = new ActionSheetDialog(context, // itemList.toArray(contents), null); dialog.title("使用内置dismiss动画设置对话框消失动画\r\n指定对话框将消失效果")// .titleTextSize_SP(14.5f)// .cancelText("cancel") .show(); dialog.setOnOperItemClickL(new OnOperItemClickL() { @Override public void onOperItemClick(AdapterView<?> parent, View view, int position, long id) { try { String animType = contents[position]; ((DialogHomeActivity) context).setBasOut((BaseAnimatorSet) cs[position].newInstance()); T.showShort(context, animType + "设置成功"); dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } } }); } }