Voglio creare un pulsante in Android con un testo e un'immagine di sfondo. L'immagine di sfondo dovrebbe dissolvenza incrociata ogni volta X.Transition Android Disegnabile con più elementi
Ho questo lavoro utilizzando un TransitionDrawable con 2 immagini.
Ma non riesco a farlo funzionare con più di 2 immagini.
quello che ho:
Nel codice Java ho creare un pulsante e impostare uno sfondo (che è un TransitionDrawable definita in XML). E inizio la transizione.
final Button b = new Button(getApplicationContext());
b.setTextColor(getResources().getColor(R.color.white));
b.setText("Some text");
b.setBackgroundDrawable(getResources().getDrawable(R.drawable.tile));
StateListDrawable background = (StateListDrawable) b.getBackground();
TransitionDrawable td = (TransitionDrawable) background.getCurrent();
td.startTransition(2000);
In XML mi definiscono in tile.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#449def" />
</shape>
</item>
<item android:drawable="@drawable/transition">
<shape>
<solid
android:color="#0000ff" />
</shape>
</item>
</selector>
E infine una transition.xml
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/desert"/>
<item android:drawable="@drawable/hydrangeas" />
<item android:drawable="@drawable/jellyfish" />
</transition>
ora è che quando inizio l'applicazione viene mostrata l'immagine del deserto l'effetto . Questa immagine incrocia l'immagine delle ortensie come dovrebbe. Ma l'immagine delle meduse non viene mai mostrata.
Nel documento per TransitionDrawables è indicato che è possibile specificare più di 2 drawable ma non riesco a farlo funzionare.
Ho provato anche questo senza alcun XML, ma in puro Java, ma questo ha dato esattamente lo stesso problema :-(
* Nel documento per TransitionDrawables si afferma che è possibile specificare più di 2 drawable * - può fornire un collegamento a cui questo è indicato? – Luksprog
http://developer.android.com/reference/android/graphics/drawable/TransitionDrawable.html#TransitionDrawable (android.graphics.drawable.Drawable []) Questo stato "Sono necessari almeno 2 livelli per questo drawable a lavorare bene.". Come ho detto nel mio post originale, ho anche provato tutto in puro codice Java (quindi utilizzando acusticamente questo costruttore) ma questo ha avuto esattamente lo stesso problema. – Knarf
Una scelta sbagliata per le parole. Ho appena visto il codice di 'TransitionDrawable' e sfuma solo tra due drawable, ogni altro layer viene ignorato. – Luksprog