13

我需要2個屏幕自定義動畫象下面這樣解釋:是否可以使用ViewPager完成此Android屏幕動畫?

 

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

  • 用戶進行長觸摸一個項目在列表1和幻燈片從左至右。
  • 包含列表1的視圖從左向右移動(直到屏幕結束)並淡入。顯示屏幕2。

使用ViewPager可以做動畫嗎?如果是,如何?

我想通過ViewPager來做到這一點,因爲我使用Fragment非常廣泛,我已經將許多屏幕實現爲片段。

如果有人需要關於動畫或UI的說明,請告訴我。

更新:我能夠在單個活動中實現兩個屏幕,我已經部分解釋了here。我可以在一個片段中實現它。但能夠在ViewPager中作爲不同的Fragment來實施仍然有幫助。

+1

你可以給我的視圖的XML,所以我可以試驗嗎?我有一個簡單而快速的解決方案,但我更願意嘗試。你有4個列表視圖?我沒有得到它 –

回答

3

ViewPager,我也是,似乎是矯枉過正。除非您希望稍後添加更多屏幕或其他一些要求。對於這些簡單的屏幕,您可以使用ActivityAnimations來完成。如果將Screen1和Screen2放在單獨的Activity中,則可以使用簡單樣式爲動畫製作動畫。您不需要編寫代碼,只需爲您的活動定義「輸入」和「退出」樣式,並且它們將被執行。

的Android的Manifest.xml

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

你的themes.xml

所以,除非你有其他原因使用ViewPager,您可以通過以下(未測試)達到相同的效果

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

最後,在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

我不認爲這將解決問題,因爲只有view1需要動畫,而不是整個屏幕。 – 500865

+0

也許我不完全理解這個問題,而且您確實需要一個ViewPager。祝你好運! – Entreco

2

我已經成功地在ViewPagers之前使用了垂直的ListViews。如何在ViewPager中嘗試水平滾動列表視圖?

相關問題