Ho implementato ItemDecoration nel mio RecyclerView insieme a un'animazione che viene riprodotta ogni volta che viene caricato il camper. Tuttavia, ho notato che la decorazione appare già ai limiti prima del completamento dell'animazione, e voglio che la decorazione si sposti con l'animazione contemporaneamente. Come lo farei?Rendere ElementoDecorazione spostare con Animazione
Finora, sono stato entrando l'animazione in questo modo:
@Override
public void onBindViewHolder(final RecyclerVH recyclerVH, final int position) {
currentNote = data.get(position);
final String currentTitle = currentNote.getTitle();
final String currentContent = currentNote.getContent();
final int currentPosition = currentNote.getPosition();
String currentAlarmDate = currentNote.getAlarm();
Log.d("RecyclerView", "onBindVH called: " + currentTitle);
Log.d("RecyclerView", "Position at: " + currentPosition + " and Adapter Position at: " + recyclerVH.getAdapterPosition());
// final Info currentObject = data.get(position);
// Current Info object retrieved for current RecyclerView item - USED FOR DELETE
recyclerVH.listTitle.setText(currentTitle);
recyclerVH.listContent.setText(currentContent);
Log.d("RecyclerAdapter", "currentAlarmDate is: '" + currentAlarmDate + "'");
if (currentAlarmDate != null && !currentAlarmDate.equals(" ")) {
Log.d("RecyclerAdapter", "Current Alarm set for: " + currentAlarmDate);
recyclerVH.alarm.setText(currentAlarmDate);
} else
recyclerVH.alarm.setText(R.string.no_alarm);
/*recyclerVH.listTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Open new Activity containing note content
Toast.makeText(this, "Opening: " + currentObject.title, Toast.LENGTH_LONG).show();
}
});*/
runEnterAnimation(recyclerVH.itemView, position);
}
private void runEnterAnimation(View itemView, int position) {
// Starts Animation
Animation animation = AnimationUtils.loadAnimation(context,
position >= lastAnimatedPosition ? R.anim.up_from_bottom : R.anim.down_from_top);
// If true, up_from_button is loaded
itemView.startAnimation(animation);
lastAnimatedPosition = position;
Log.d("RecyclerAdapter", "lastAnimatedPosition is now: " + lastAnimatedPosition);
}
Hai trovato una soluzione per questo? – ernazm
@ernazm Sfortunatamente, no. –
Stai usando l'animatore di elementi RV? In questo caso, guarda [questo post] (http://stackoverflow.com/questions/29061450/how-to-disable-recyclerview-item-decoration-drawing-for-the-duration-of-item-ani) –