Hey Ho una visione riciclatore e ogni elemento della vista riciclatore Contenere ImageView Che in FrameLayout e l'immagine ingrandita per coprire tutta la voce Formato
Quello che voglio fare per creare effetto di parallasse l'articolo Recycler Visualizza sullaCome creare un effetto parallasse su Recycler View Item on Scroll?
quello che posso per spostare l'immagine per mostrare parte nascosta di esso quando ho scorrere verso l'alto e verso il basso
Ti piace questa Tutorial in rapida
quello che ho fatto qui in Recycler vista di scorrimento
events_list.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
final DynamicImageView imageView = (DynamicImageView) recyclerView.findViewById(R.id.item_image);
if (imageView.getVisibility() == View.VISIBLE) {
if (dy > 0) {
Animation a = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) imageView.getLayoutParams();
params.topMargin = (int)(-50 * interpolatedTime);
imageView.setLayoutParams(params);
}
};
a.setDuration(100); // in ms
imageView.startAnimation(a);
} else if (dy < 0) {
Animation a = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) imageView.getLayoutParams();
params.topMargin = (int)(50 * interpolatedTime);
imageView.setLayoutParams(params);
}
};
a.setDuration(100); // in ms
imageView.startAnimation(a);
}
}
}
});
so che questo codice non è la soluzione ottimale deve anche controllare tutti gli elementi visibili non il primo ma il mio problema qui che ii cambiare il margine della vista dell'immagine mi sto prendendo uno spazio libero tra gli oggetti e l'animazione non funziona perfettamente
qualche aiuto?
probabilmente si vorrà solo fare il proprio layout/Vista e non funziona con l'ascoltatore di scorrimento. Sovrascrivi il metodo 'onLayout' e sei pronto. puoi quindi, a seconda della posizione delle viste, disegnare l'immagine in prima persona, parallandola allo stesso tempo –
Grazie @ bleeding182 hai ragione la libreria che ho trovato funziona in questo modo grazie ancora – Tony