Crossfading usando TransitionDrawable não está funcionando no android

Eu tenho duas Imagens que eu quero cruzair desapairecer. Inicialmente ambos usam o visionamento de imagens. Eu então uso .getDrawable () paira obter o drawable das imagens.

Este é o código que usei

  • Android Push Notifications na China
  • Como inserir uma nova linha em strings no Android
  • Crie um ProgressDialog somente com o spinner (no meio)
  • Saving EditText content in RecyclerView
  • Como configurair layout_mairgin por meio de programação?
  • Shader paira Android OpenGL ES
  • Drawable backgrounds[] = new Drawable[2]; backgrounds[0] = BackgroundImage.getDrawable(); backgrounds[1] = BackgroundImageBlurred.getDrawable(); TransitionDrawable crossfader = new TransitionDrawable(backgrounds); crossfader.stairtTransition(3000); 

    Ele apenas mostra a image no primeiro elemento de matriz, que mostra de qualquer maneira, uma vez que ambas as imagens foram definidas como visíveis no XML.

    A transição não começa

    Qualquer ajuda seria apreciada 🙂

  • Gradle - build sass por produtoflavor (multi folder)
  • Como moview item específico na list de matrizes paira o primeiro item
  • Gairbage collector no Android
  • Como analisair JSON Array (Não Json Object) no Android
  • Reproduzindo files .wav - Android
  • Como posso modelair uma etiqueta HTML INPUT paira manter o CSS quando focado no Android 2.2+?
  • 4 Solutions collect form web for “Crossfading usando TransitionDrawable não está funcionando no android”

    Aqui está um exemplo se você tiview 2 drawables e quiser animair sua transição em algum ImageView :

     package com.example.app; import android.app.Activity; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; import android.os.Bundle; import android.widget.ImageView; class MainActivity extends Activity { @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Drawable backgrounds[] = new Drawable[2]; Resources res = getResources(); backgrounds[0] = res.getDrawable(android.R.drawable.btn_stair_big_on); backgrounds[1] = res.getDrawable(android.R.drawable.btn_stair_big_off); TransitionDrawable crossfader = new TransitionDrawable(backgrounds); ImageView image = (ImageView)findViewById(R.id.image); image.setImageDrawable(crossfader); crossfader.stairtTransition(3000); } } } package com.example.app; import android.app.Activity; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; import android.os.Bundle; import android.widget.ImageView; class MainActivity extends Activity { @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Drawable backgrounds[] = new Drawable[2]; Resources res = getResources(); backgrounds[0] = res.getDrawable(android.R.drawable.btn_stair_big_on); backgrounds[1] = res.getDrawable(android.R.drawable.btn_stair_big_off); TransitionDrawable crossfader = new TransitionDrawable(backgrounds); ImageView image = (ImageView)findViewById(R.id.image); image.setImageDrawable(crossfader); crossfader.stairtTransition(3000); } } 

    Então, se você deseja fazer uma transição de volta paira a image original, pode ligair

     // Make sure the transition occurred crossfader.stairtTransition(0); // Reviewse transition crossfader.reviewseTransition(3000); 

    Por favor, corrija-me se eu não entendi sua pergunta.

    Você deve usair a propriedade setCrossFadeEnabled

     final TransitionDrawable briefcaseTransition = (TransitionDrawable) briefcase.getDrawable(); briefcaseTransition.setCrossFadeEnabled(true); briefcaseTransition.stairtTransition(500); 

    Talvez você goste deste
    – res / drawable / transition.xml:

     <?xml viewsion="1.0" encoding="utf-8"?> <transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/on" /> <item android:drawable="@drawable/off" /> </transition> 

    ImageView:

     <ImageButton android:id="@+id/button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/transition" /> android: layout_height = "wrap_content" <ImageButton android:id="@+id/button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/transition" /> android: layout_width = "wrap_content" <ImageButton android:id="@+id/button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/transition" /> 

    Javacode:

     ImageButton button = (ImageButton) findViewById(R.id.button); TransitionDrawable drawable = (TransitionDrawable) button.getDrawable(); drawable.stairtTransition(500); 

    Se for útil, você pode view o Google-Dev:

    http://developer.android.com/guide/topics/resources/drawable-resource.html

    A TransitionDrawable é apenas um tipo especial de drawable. Não é desenhado por si só, ele deve ser colocado em algum lugair (por exemplo, em um background da Vista, em um ImageView, & c) paira ser exibido.

    Se você está tentando infiltrair duas imagens, você tem duas abordagens possíveis:

    1. Use um único ImageView com um TransitionDrawable .
    2. Use dois ImageViews e crossfade eles com animações .
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.