zoukankan      html  css  js  c++  java
  • SnackBar动画

        void animateViewIn() {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                ViewCompat.setTranslationY(mView, mView.getHeight());
                ViewCompat.animate(mView)
                        .translationY(0f)
                        .setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR)
                        .setDuration(ANIMATION_DURATION)
                        .setListener(new ViewPropertyAnimatorListenerAdapter() {
                            @Override
                            public void onAnimationStart(View view) {
                                mView.animateChildrenIn(ANIMATION_DURATION - ANIMATION_FADE_DURATION,
                                        ANIMATION_FADE_DURATION);
                            }
    
                            @Override
                            public void onAnimationEnd(View view) {
                                onViewShown();
                            }
                        }).start();
            } else {
                Animation anim = AnimationUtils.loadAnimation(mView.getContext(),
                        R.anim.design_snackbar_in);
                anim.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR);
                anim.setDuration(ANIMATION_DURATION);
                anim.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationEnd(Animation animation) {
                        onViewShown();
                    }
    
                    @Override
                    public void onAnimationStart(Animation animation) {}
    
                    @Override
                    public void onAnimationRepeat(Animation animation) {}
                });
                mView.startAnimation(anim);
            }
        }
    

       

    SnackbarManager类
        private void scheduleTimeoutLocked(SnackbarRecord r) {
            if (r.duration == Snackbar.LENGTH_INDEFINITE) {
                // If we're set to indefinite, we don't want to set a timeout
                return;
            }
    
            int durationMs = LONG_DURATION_MS;
            if (r.duration > 0) {
                durationMs = r.duration;
            } else if (r.duration == Snackbar.LENGTH_SHORT) {
                durationMs = SHORT_DURATION_MS;
            }
            mHandler.removeCallbacksAndMessages(r);
            mHandler.sendMessageDelayed(Message.obtain(mHandler, MSG_TIMEOUT, r), durationMs);
        }
        private static final int SHORT_DURATION_MS = 1500;
        private static final int LONG_DURATION_MS = 2750;
  • 相关阅读:
    oppo手机永久打开USB调试模式
    一个简单的php分页类代码(转载)
    php分页类的二种调用方法(转载)
    直流电与交流电的几点区别
    变压器的分类_变压器的作用
    静态无功补偿与动态无功补偿的区别(转载)
    无功补偿装置三种投切方式(转载)
    西门子plc串口通讯方式
    电动葫芦起吊重物时摇晃怎么办?
    电灯节电小知识的方法大全(转载)
  • 原文地址:https://www.cnblogs.com/huyang011/p/7447064.html
Copyright © 2011-2022 走看看