android - para - poner efectos a videos online
Cómo hacer el nuevo efecto de paralaje PlayStore (6)
¿Alguien sabe cómo puedo lograr el nuevo efecto de desplazamiento de paralaje? Puede ver el efecto cuando abre una aplicación en PlayStore y trata de desplazarse hacia abajo, el contenido pasa por encima de la imagen superior. ¿Cómo puedo lograr eso?
En realidad, pocos minutos después de publicar esta pregunta, me topé con dos de las bibliotecas que hacen el efecto que estoy buscando y aún más.
Aquí hay enlaces a ellos:
Google anunció recientemente la biblioteca de soporte de diseño y con esto tiene soporte para implementar la barra de herramientas Colapsar .
Además de fijar una vista, puede usar la
app:layout_collapseMode="parallax"
(y opcionalmenteapp:layout_collapseParallaxMultiplier="0.7"
para establecer el multiplicador de paralaje) para implementar el desplazamiento de paralaje (por ejemplo, de un hermano ImageView dentro deCollapsingToolbarLayout
)
Ejemplo:
<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>
Hay una biblioteca llamada FadingActionBar
que hace exactamente lo que estás pidiendo. Puede encontrar la biblioteca en https://github.com/ManuelPeinado/FadingActionBar y una aplicación de demostración en https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo .
El uso sería algo como esto:
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);
Puede personalizar la animación de paralaje siguiendo el desplazamiento de la vista de reciclador
Primero en el diseño de la vista de imagen. Establecer el diseño principal es más pequeño que la vista de imagen para evitar que la imagen quede fuera del límite cuando se establece la traducciónY
<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>
Después de eso, rastree el efecto de desplazamiento de la vista del reciclador y cambie la vista de la imagen.
*** Estoy usando rxbinding y kotlin para la implementación. Puede usar el método de escucha tradicional y el enfoque de Java con la misma idea.
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
}
}
}
}
prueba la biblioteca ObservableScrollView
https://github.com/ksoichiro/Android-ObservableScrollView
aplicación de demostración de play store
muestra de muestra,
Puede probar esto (biblioteca FadingActionBar): https://github.com/ManuelPeinado/FadingActionBar
Pruebe con un ejemplo de esta biblioteca en Android: https://play.google.com/store/apps/details?id=com.manuelpeinado.fadingactionbar.demo
EDITAR: en lugar de una biblioteca de terceros, utiliza esta AppBarLayout y CollapsingToolbarLayout http://android-developers.blogspot.in/2015/05/android-design-support-library.html