@Override protected void attachLayoutAnimationParameters(View child, ViewGroup.LayoutParams params, int index, int count) { if (getAdapter() != null /*&& getLayoutManager() instanceof LinearLayoutManager*/){ LayoutAnimationController.AnimationParameters animationParameters = ( LayoutAnimationController.AnimationParameters)params.layoutAnimationParameters; if (animationParameters == null){ AlphaAnimation alphaAnimation = new AlphaAnimation(0,1); alphaAnimation.setDuration(1000); animationParameters = new LayoutAnimationController.AnimationParameters(); params.layoutAnimationParameters = animationParameters; } animationParameters.count = count; animationParameters.index = index; }else { super.attachLayoutAnimationParameters(child, params, index, count); } } }
/** * Subclasses should override this method to set layout animation * parameters on the supplied child. * * @param child the child to associate with animation parameters * @param params the child's layout parameters which hold the animation * parameters * @param index the index of the child in the view group * @param count the number of children in the view group */ protected void attachLayoutAnimationParameters(View child, LayoutParams params, int index, int count) { LayoutAnimationController.AnimationParameters animationParams = params.layoutAnimationParameters; if (animationParams == null) { animationParams = new LayoutAnimationController.AnimationParameters(); params.layoutAnimationParameters = animationParams; } animationParams.count = count; animationParams.index = index; }