[英]How to animate views as the ViewPager position offset changes
我們想創建一個帶有動畫的應用介紹,其中用戶滾動頁面,並且隨着用戶滾動,視圖被動畫化並遍歷所有幻燈片。 動畫視圖應隨着用戶滾動而移動,因此,如果用戶滾動得更快,動畫視圖應移動得更快,並且如果用戶向后滾動到上一頁,則動畫視圖應向后移動。
在iOS中使用https://github.com/IFTTT/JazzHands超級簡單,但是我找不到在Android中執行此操作的方法。
我發現的問題:
FragmentPagerAdapter
,不能將一個片段的視圖移動到另一個片段。 有什么建議嗎? 謝謝。
這是部分答案。 這是第一個問題。
我可以改變動畫視圖的屬性在onPageScrolled
的方法OnPageChangeListener
所述的ViewPager
。
這是一個簡單的示例,它更改了動畫視圖的左邊距,因此它向右移動。
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
LayoutParams params = (LayoutParams) animatedView.getLayoutParams();
params.setMargins((int) ((position + positionOffset) * 500), 0, 0, 0);
animatedView.setLayoutParams(params);
}
但是,第二個問題沒有解決。 當視圖到達頁面右側時,它消失。 換句話說,視圖無法移至下一頁(片段)。
對於第二個問題:
當不再需要視圖時,viewPagerAdapter將銷毀這些視圖,以便使視圖在所有需要的頁面中可見,並將其添加到包含ViewPager的布局中。
這樣的事情可以工作:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_transparent"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text out of view pager"
android:textSize="25sp"
/>
</RelativeLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.