zoukankan      html  css  js  c++  java
  • Android com.daimajia.slider.library.SliderLayout 去掉底部半透明标题背景

    com.daimajia.slider.library.SliderLayout 是挺好用的轮播图控件,但是底部灰色背景有时候用不到,所以得去掉。

    sliderLayout.setCustomAnimation(new DescriptionAnimation()); 这个方法是设置灰色背景动画

    我们重新写一个类DescriptionAnimation1,内容同DescriptionAnimation,

    import android.view.View;
    
    import com.daimajia.slider.library.Animations.BaseAnimationInterface;
    import com.daimajia.slider.library.R;
    import com.nineoldandroids.animation.ObjectAnimator;
    import com.nineoldandroids.animation.ValueAnimator;
    import com.nineoldandroids.view.ViewHelper;
    
    /**
     * A demo class to show how to use {@link com.daimajia.slider.library.Animations.BaseAnimationInterface}
     * to make  your custom animation in {@link com.daimajia.slider.library.Tricks.ViewPagerEx.PageTransformer} action.
     */
    public class DescriptionAnimation1 implements BaseAnimationInterface {
    
        @Override
        public void onPrepareCurrentItemLeaveScreen(View current) {
            View descriptionLayout = current.findViewById(R.id.description_layout);
            if(descriptionLayout!=null){
                current.findViewById(R.id.description_layout).setVisibility(View.INVISIBLE);
            }
        }
    
        /**
         * When next item is coming to show, let's hide the description layout.
         * @param next
         */
        @Override
        public void onPrepareNextItemShowInScreen(View next) {
            View descriptionLayout = next.findViewById(R.id.description_layout);
            if(descriptionLayout!=null){
                next.findViewById(R.id.description_layout).setVisibility(View.INVISIBLE);
            }
        }
    
    
        @Override
        public void onCurrentItemDisappear(View view) {
    
        }
    
        /**
         * When next item show in ViewPagerEx, let's make an animation to show the
         * description layout.
         * @param view
         */
        @Override
        public void onNextItemAppear(View view) {
    
            View descriptionLayout = view.findViewById(R.id.description_layout);
            if(descriptionLayout!=null){
                float layoutY = ViewHelper.getY(descriptionLayout);
                view.findViewById(R.id.description_layout).setVisibility(View.GONE);
                ValueAnimator animator = ObjectAnimator.ofFloat(
                        descriptionLayout,"y",layoutY + descriptionLayout.getHeight(),
                        layoutY).setDuration(500);
                animator.start();
            }
    
        }
    }

    红色代码,把背景隐藏掉就行了,然后 sliderLayout.setCustomAnimation(new DescriptionAnimation1());

  • 相关阅读:
    *setTimeout实现text输入在用户停顿时才调用事件!*
    *关于TextArea里中英文混合时换行的问题*
    *用C#创建Windows服务(Windows Services)
    *使用C# 创建邮件发送组件(SMTP)
    *ASP.NET 2.0 连接SQL Server数据库详解
    *SQL2000系统表的应用
    *在.NET(正式版)环境下发送邮件
    *如何解决select等元素突出来的问题
    *介绍JSON*
    Tomcat性能配置
  • 原文地址:https://www.cnblogs.com/qzdf/p/10260121.html
Copyright © 2011-2022 走看看