|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Como hacer una animacion que empiece al mismo tiempo en que se muestra la Activity
Hola, quisiera que por favor alguien ayude, quisiera hacer una animacion que empiece a animarse sin necesidad de hacer ningun toque en la pantalla, que simplemente inicie cuando se muestre la actividad, gracias de antemano.
|
|
#2
|
||||
|
||||
Lo más probable es que en el onStart te funcione, pero si quieres que sea justo justo justo en cuanto aparezca la Activity en pantalla, lo mejor es hacerlo en el ViewTreeObserver.OnGlobalLayoutListener
|
#3
|
||||
|
||||
Hola, muchas gracias lo intentente con el metodo onStart alguien podria por favor darme alguna idea para que funcione seria genial mil gracias de antemano.
Última edición por LEAJIM_454 Día 25/08/14 a las 22:57:34. |
#4
|
||||
|
||||
Alguien que pueda darme alguna idea? por favor...
|
#5
|
||||
|
||||
Seria interesante que comentaras si el metodo comentado por kriogeN, el del ViewTreeObserver.OnGlobalLayoutListener te funcionó antes de pedir mas ayuda
__________________
|
#6
|
||||
|
||||
Otra cosa es que esté programando mal la animación. Pon un botón y pon el código que inicia la animación en el botón, cuando la animación funcione entonces la trasladas a onStart. |
#7
|
||||
|
||||
Hola, muchas gracias por responder este es mi Layout
Código:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.JimSoft.exampleactivity.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Bienvenido Inanh ¿Como estas?" /> <ImageView android:id="@+id/JimAnimation" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" android:gravity="center"/> </RelativeLayout> Código:
package com.JimSoft.exampleactivity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.speech.tts.TextToSpeech.OnInitListener; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends ActionBarActivity { private Button btnIniciar, btnDetener; private ImageView ivAnimacion; private AnimationDrawable savingAnimation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //IniciarAnimacion(); } protected void OnStart(){ IniciarAnimacion(); } public void IniciarAnimacion(){ ivAnimacion = (ImageView)findViewById(R.id.JimAnimation); ivAnimacion.setBackgroundResource(R.drawable.animacion); savingAnimation = (AnimationDrawable)ivAnimacion.getBackground(); savingAnimation.start(); } } |
#9
|
||||
|
||||
Mil gracias por las respuestas y me disculpo por no responder rapido, mi hermana ocupó la PC para hacer su tesis XD... aqui esta mi animationDrawable.xml que lo coloco en la carpeta /res/drawable/
Código:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/saving_image_white" android:duration="150" /> <item android:drawable="@drawable/saving_image_white_1" android:duration="150" /> <item android:drawable="@drawable/saving_image_white_2" android:duration="150" /> <item android:drawable="@drawable/saving_image_white_3" android:duration="150" /> <item android:drawable="@drawable/saving_image_white_4" android:duration="150" /> </animation-list> |
#10
|
||||
|
||||
Lo único que se me ocurre es como la Activity aún no está dibujada el getBackground devuelva información erronea.
Usa el OnGlobalLayoutListener del ViewTreeObserver, con eso no fallas. |
#11
|
||||
|
||||
Gracias de nuevo implemente en mi actividad lo que me dijiste y no funciona no se si lo estare haciendo mal por favor corrigeme, gracias de nuevo.
Código:
package com.JimSoft.exampleactivity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.widget.ImageView; public class MainActivity extends ActionBarActivity implements OnGlobalLayoutListener { private ImageView ivAnimacion; private AnimationDrawable savingAnimation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onGlobalLayout() { ivAnimacion = (ImageView)findViewById(R.id.JimAnimation); ivAnimacion.setBackgroundResource(R.drawable.animacion); savingAnimation = (AnimationDrawable)ivAnimacion.getBackground(); savingAnimation.start(); } } |
#12
|
||||
|
||||
Añade esto al final del onCreate:
findViewById(R.id.JimAnimation).getViewTreeObserve r().addOnGlobalLayoutListener(this); |
Gracias de parte de: | ||
#13
|
||||
|
||||
kriogeN Eres lo maximo!!!... Me funcionó, mil gracias, enserio mil gracias, me ayudaste mucho, eres el mejor.
|
#15
|
||||
|
||||
Tienes mucha razón, la proxima te hare caso a la primera, mil gracias de nuevo, una cosa no sabras una forma facil de implementar in app billing en una aplicación?
|
#16
|
||||
|
||||
http://www.htcmania.com/showpost.php...90&postcount=7
__________________
|
#17
|
||||
|
||||
Gracias por tu respuesta pero esa pagina ya la vi es muy buena pero explica todo lo que se debe hacer en android studio y yo uso eclipse, es mucho mas liviano y facil de manejar XD, ¿alguna otra alternativa?
Edito: Lo veo muy bien por lo que veo es una paginta tuya, no podrias por favor pasarme el codigo fuente del proyecto que usas ahi, no importa que sea de android studio es que aprendo un poco mas viendo ejemplos completos, mil gracias de antremano. Última edición por LEAJIM_454 Día 03/09/14 a las 00:31:31. |
#18
|
||||
|
||||
Creas un fichero anim.xml
Y luego le asignas la animación al elemento en el oncreate... con eso ya lo lanza en el momento de crear el activity Saludos
__________________
Espartano Numero 2
|
#19
|
||||
|
||||
Hola, este problema ya me lo resolvio kriogeN pero muchas gracias por tu respuesta y por cierto lo que comentaste no funciona es mejor usar un onGlobalLayoutListener.
|
|
#20
|
||||
|
||||
__________________
Espartano Numero 2
|
Estás aquí | ||||||
|