Fer*_*nch 11 animation android
我们想创建一个带有动画的应用程序介绍,用户可以滚动浏览页面,当用户滚动时,视图会被动画化并遍历所有幻灯片.动画视图应该在用户滚动时移动,因此如果用户滚动得更快,动画视图应该移动得更快,如果用户滚动回到上一页,动画视图应该向后移动.
在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);
}
Run Code Online (Sandbox Code Playgroud)
但是,第二个问题没有解决.当视图到达页面的右侧时,它会消失.换句话说,视图无法移动到下一页(片段).
对于第二个问题:
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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5571 次 |
| 最近记录: |