Анимация при изменении LayoutParams в LinearLayout

В моем приложении есть LinearLayout, у которого есть 0 Высота макета. Когда я нажимаю кнопку, эта высота макета должна быть LayoutParams.WRAP_CONTENT. Это код, который я использую в onclicklistner.

LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); slider.setLayoutParams(lp); 

Я хочу оживить это. Как настроить анимацию для слайдера.

Solutions Collecting From Web of "Анимация при изменении LayoutParams в LinearLayout"

Если вы хотите реализовать анимацию слайдера для своего макета, посмотрите эту демонстрацию .

ОБНОВЛЕНО

Также см. http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html

Надеюсь, это поможет вам.

Если нет, то дайте мне знать.

Благодарю. Наслаждаться. 🙂

Я думаю, вы просто хотите оживить представление с высоты 0 до его конечной высоты, вы можете сделать это с помощью специальной анимации:

 public class ShowAnim extends Animation { int targetHeight; View view; public ShowAnim(View view, int targetHeight) { this.view = view; this.targetHeight = targetHeight; } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { view.getLayoutParams().height = (int) (targetHeight * interpolatedTime); view.requestLayout(); } @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); } @Override public boolean willChangeBounds() { return true; } } 

И сделайте это в своем коде, чтобы начать анимацию:

 Animation ani = new ShowAnim(headerView, 100/* target layout height */); ani.setDuration(2000/* animation time */); headerView.startAnimation(ani);