如何做新的PlayStore视差效果
有谁知道我怎样才能实现新的视差滚动效果 – 当你在PlayStore上打开一个应用程序并尝试向下滚动时,你可以看到效果,内容超越了顶部图像。 我怎样才能做到这一点?
谷歌最近宣布devise支持库,并与此支持实施Collapsing工具栏 。
除了固定视图之外,还可以使用
app:layout_collapseMode="parallax"
(和可选的app:layout_collapseParallaxMultiplier="0.7"
来设置视差倍数)来实现视差滚动(比如CollapsingToolbarLayout
中的兄弟ImageView)
例:
<android.support.design.widget.AppBarLayout android:layout_height="192dp" android:layout_width="match_parent"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <android.support.v7.widget.Toolbar android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:layout_collapseMode="pin"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout>
你可以试试这个(FadingActionBar库): https : //github.com/ManuelPeinado/FadingActionBar
在android上试试这个库的例子: https : //play.google.com/store/apps/details? id = com.manuelpeinado.fadingactionbar.demo
编辑:而不是第三方库使用此AppBarLayout和CollapsingToolbarLayout http://android-developers.blogspot.in/2015/05/android-design-support-library.html
尝试ObservableScrollView库
https://github.com/ksoichiro/Android-ObservableScrollView
从Play商店演示应用程序
样品演示,
实际上在发布这个问题几分钟后,我碰到了两个图书馆,这些图书馆的效果我正在寻找甚至更多。
这里是他们的链接:
- 视差滚动
- Paralloid
有一个名为FadingActionBar
的库,它完全符合你的要求。 您可以在GitHub上find该库(单击)并在Play商店中find一个Demo-Application (单击) 。
用法是这样的:
FadingActionBarHelper helper = new FadingActionBarHelper() // Set the ActionBar drawable - basically the color .actionBarBackground(R.drawable.ab_background) // Set the Header - usually an image .headerLayout(R.layout.header) // Set the main layout .contentLayout(R.layout.activity_scrollview); setContentView(helper.createView(this)); helper.initActionBar(this);
您可以通过跟踪Recycler View Scrolling来定制视差animation
首先在图像视图布局。 设置父级布局比图像视图小,以便在设置translationY时防止图像外的图像
<android.support.percent.PercentRelativeLayout android:id="@+id/index_level6_image_section" android:layout_width="match_parent" android:layout_height="200dp" android:clipChildren="false"> <ImageView android:id="@+id/index_level6_parallaxImage" android:layout_width="match_parent" android:layout_height="240dp" android:layout_centerInParent="true" android:background="@color/timberwolf" android:layout_marginTop="-20" android:layout_marginBottom="-20" android:scaleType="centerCrop" app:imageUrl="@{level6CellViewModel.level6ImageUrl}" /> </android.support.percent.PercentRelativeLayout>
之后,跟踪回收者视图滚动效果并转换图像视图。
***我正在使用rxbinding和kotlin来实现。 你可以用同样的想法使用传统的监听方法和java方法。
RxRecyclerView.scrollEvents(recyclerView) .subscribe { event -> // get the visible cell items of the recycler view val firstVisible = layoutManager.findFirstVisibleItemPosition() val visibleCount = Math.abs(firstVisible - layoutManager.findLastVisibleItemPosition()) /** loop the visible cell items from the recycler view */ for (i in firstVisible..firstVisible + visibleCount) { event.view().layoutManager?.findViewByPosition(i)?.let { cellItem -> /** only for index cell level 6 parallax image */ cellItem.findViewById(R.id.index_level6_parallaxImage)?.let { imageView -> /** setting the parallax effect */ val translationY = (cellItem.top - cellItem.height) / level6ParallaxRate imageView.translationY = -translationY } } } }
- 什么是便利广播?
- Firebase 401未经授权的错误FCM
- createScaledBitmap的过滤参数是做什么的?
- 有没有办法在Eclipse中自动生成getter和setter?
- Android-以不同的意图值回到以前的活动
- Android Android支持库与Android支持库vs Google Repository vs Google Play服务之间有什么区别?
- Android:java.lang.ClassCastException:android.widget.imageView无法转换为android.widget.textView
- mipmap可绘制的图标
- 如何在Android中使用SharedPreferences来存储,获取和编辑值