Animation animation = new Animation() {
        @Override
        protected void applyTransformation(float interpolatedTime, Transformation t) {
            ViewGroup.LayoutParams params = slidingPane.getLayoutParams();
            int calculatedHeight = expandedHeight - ((int) (expandedHeight * interpolatedTime));
            if (calculatedHeight <= collapsedHeight) {
                calculatedHeight = collapsedHeight;
            }
            params.height = calculatedHeight;
            slidingPane.setLayoutParams(params);
            slidingPane.requestLayout();
        }
        @Override
        public boolean willChangeBounds() {
            return true;
        }
    };
    animation.setDuration(ANIMATION_DURATION);
    animation.setAnimationListener(animationListener);
    slidingPane.startAnimation(animation);
SlidingPane is a LinearLayout and it has a ListView as a child. ListView contains images in every row. 
Now this code is working absolutely fine, but animation is not smooth. If I remove images from listview then it works fine. 
I have already tried following things based on the answers on SO on similar questions - 
 1. Hide the content of sliding pane before animation and then again make them visible on animation end. It helps but behavior looks very odd
2. Set android:animateLayoutChanges="true" in xml, but its not animating anything
Is there anyway to solve this problem?
 
    