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,
- Cómo obtener texto de cadena de AutoCompleteTextView?
- ¿Cómo usar Android ViewPager?
- SearchView es invisible con el parámetro collapseActionView desde la biblioteca de diseño 24.1
- sensorPortrait: ¿Cómo capturar la orientación cambiante?
- Vista de la raíz compatible con Android Espresso
<?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>
- Diseño de mensajes de WhatsApp - Cómo obtener una vista de tiempo en la misma fila
- Barra de herramientas que se superpone debajo de la barra de estado
- ¿Cómo configurar el adaptador en caso de múltiples vistas de texto por lista?
- ¿Por qué no deberíamos envolver cada diseño de Android XML incluido en un par de <fusion>?
- El fondo de la barra de herramientas se convierte en color blanco cuando se establece en transparente
- El desplazamiento de ViewPager no funciona con RecyclerView
- ClipToBounds para niños Vistas dentro de LinearLayout android
- Lamentablemente, (nombre de la aplicación) se ha detenido. Eclipse / Android
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(); } });
- Cómo agregar texto con formato en el texto de edición?
- Formato Doble para imprimir sin notación científica usando DecimalFormat