13

ho bisogno di fare 2 schermi con animazione personalizzato come spiegato di seguito:È possibile eseguire questa animazione dello schermo Android con un ViewPager?

 

      Screen 1         Screen 2 
-----------------------------    ------------------------------ 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|  List 1  | List2 | ---------> | List 3 |  List 4   | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
|     |   |   |  |      | 
-----------------------------    ------------------------------ 

  • utente fa un tocco lungo su un elemento nella lista 1 e diapositive da sinistra a destra.
  • La vista che contiene l'elenco 1 si sposta da sinistra a destra (fino alla fine dello schermo) e si dissolve. La schermata 2 è mostrata.

È possibile eseguire questa animazione utilizzando ViewPager? Se sì, come?

Mi piacerebbe farlo via ViewPager perché sto utilizzando lo Fragment s piuttosto estesamente e ho già implementato molte schermate come frammenti.

Se qualcuno ha bisogno di chiarimenti sull'animazione o sull'interfaccia utente, faccelo sapere.

Aggiornamento: Sono stato in grado di implementare entrambi gli schermi in una singola attività che ho parzialmente spiegato here. Posso implementare lo stesso in un singolo frammento. Ma essere in grado di implementare come diversi Fragment s in un ViewPager sarebbe ancora di aiuto.

+1

Puoi darmi l'xml della vista in modo da poter sperimentare? Ho una soluzione semplice e veloce, ma preferisco provarla. Hai 4 listview? non ho capito bene –

risposta

3

ViewPager, anche io, sembra eccessivo. A meno che tu non voglia aggiungere altre schermate più tardi o qualche altro requisito. Per questi semplici schermi puoi farlo con ActivityAnimations. Se si mettono Screen1 e Screen2 in un'attività separata, è possibile animare le attività utilizzando stili semplici. Non è necessario codificare, è sufficiente definire gli stili Enter ed Exit per le attività e verranno eseguiti.

Quindi, se non avete un altro motivo per usare il ViewPager, è possibile ottenere lo stesso effetto dalla seguente (non testato):

Android Manifest.xml

<activity android:name=".Screen1" android:theme="@style/Animated"></activity> 
<activity android:name=".Screen2"></activity> 

tuo themes.xml

<resources> 
    <style name="Animated"> 
     <item name="android:windowAnimationStyle">@style/Animation.ScreenAnimation</item> 
    </style> 
</resources> 

Infine, nella vostra styles.xml

<style name="Animation"></style> 
<style name="Animation.ScreenAnimation" parent="android:style/Animation.Activity"> 
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> 
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> 
    <item name="android:activityCloseEnterAnimation">@anim/slide_out_left</item> 
    <item name="android:activityCloseExitAnimation">@anim/slide_in_right</item> 
</style> 
+0

Non penso che questo risolva il problema visto che solo la view1 deve essere animata e non l'intero schermo. – 500865

+0

Forse non capisco completamente la domanda, e hai bisogno di un ViewPager. In bocca al lupo! – Entreco

2

Ho utilizzato correttamente ListViews verticali all'interno di ViewPager in precedenza. Che ne dici di provare una visualizzazione a scorrimento orizzontale all'interno del tuo ViewPager?

Problemi correlati