Diseño expandir animación

He hecho la animación de la extensión de diseño con el código siguiente. Funciona muy bien cuando invocamos la animación haciendo clic en una vista de texto, pero lo mismo no sucede cuando intento hacerlo haciendo clic en un diseño. ¿Puede alguien ayudarme a resolver esto?

LinearLayout hello= (LinearLayout)findViewById(R.id.lin_hello); final RelativeLayout rel=(RelativeLayout)findViewById(R.id.rel_nah_hide); hello.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { expand=!expand; Animation a=expand(rel, expand); rel.setAnimation(a); a.start(); } }); public static Animation expand(final View v, final boolean expand) { try { Method m = v.getClass().getDeclaredMethod("onMeasure", int.class, int.class); m.setAccessible(true); m.invoke(v, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(((View)v.getParent()).getMeasuredWidth(), MeasureSpec.AT_MOST) ); } catch (Exception e) { e.printStackTrace(); } final int initialHeight = v.getMeasuredHeight(); if (expand) { v.getLayoutParams().height = 0; } else { v.getLayoutParams().height = initialHeight; } v.setVisibility(View.VISIBLE); Animation a = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { int newHeight = 0; if (expand) { newHeight = (int) (initialHeight * interpolatedTime); } else { newHeight = (int) (initialHeight * (1 - interpolatedTime)); } v.getLayoutParams().height = newHeight; v.requestLayout(); if (interpolatedTime == 1 && !expand) v.setVisibility(View.GONE); } @Override public boolean willChangeBounds() { return true; } }; a.setDuration(SPEED_ANIMATION_TRANSITION); a.setAnimationListener(new AnimationListener(){ @Override public void onAnimationEnd(Animation arg0) { animWorkingFlag=false; } @Override public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationStart(Animation animation) { animWorkingFlag=true; } }); return a; } 

Y el siguiente es el diseño xml,

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/lin_hello" android:layout_height="50dp" android:layout_width="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/hello" android:layout_height="50dp" android:layout_width="fill_parent" android:text="Nah" android:gravity="center" android:background="#F03535"/> </LinearLayout> <RelativeLayout android:id="@+id/rel_nah_hide" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/txt_nah_hide1" android:layout_height="50dp" android:layout_width="fill_parent" android:text="Incorrect Name/Address" android:gravity="center" android:textColor="@color/white"/> <TextView android:id="@+id/txt_nah_hide2" android:layout_height="50dp" android:layout_width="fill_parent" android:text="Venue is closed" android:gravity="center" android:textColor="@color/white" android:layout_below="@id/txt_nah_hide1"/> <TextView android:id="@+id/txt_nah_hide3" android:layout_height="50dp" android:layout_width="fill_parent" android:text="Venue is duplicate" android:gravity="center" android:textColor="@color/white" android:layout_below="@id/txt_nah_hide2"/> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="28dp" android:text="heelo2222"/> </LinearLayout> 

Utilice el siguiente código de pieza: ->

 View hello= findViewById(R.id.lin_hello); final RelativeLayout rel=(RelativeLayout)findViewById(R.id.rel_nah_hide); hello.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { expand=!expand; Animation a=expand(rel, expand); rel.setAnimation(a); a.start(); } }); 
  • La adición de una vista crea un ListView dentro de un fragmento para actualizar
  • ¿Cómo hacer que el primer elemento de un ListView se seleccione como predeterminado en el inicio?
  • Personalización del espaciado de los hiladores
  • No es capaz de reproducir vídeo Flash en Android WebView
  • Disposición de Android: coloca una vista entre dos vistas
  • Alinee a la derecha de la pantalla con margen Android
  • En Android, ¿cómo posiciono una imagen encima de otra para que parezca una insignia?
  • La vista de texto de Android no se enrolla correctamente
  • Establecer el logotipo de la barra de herramientas en XML
  • No se puede desplazar en el fragmento de diálogo
  • Cómo el estilo de Theme.Holo.DialogWhenLarge tamaño personalizado, la posición, los márgenes, etc?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.