2015-10-16 17 views
5

Temel olarak, this (at the 30 second mark)Bir RecyclerView öğesinin girişini nasıl canlandırabilirim (slaytta)?

Etkinliklerin başlamasından sonra öğelerimin sırayla kaydırılmasını istiyorum.

Googling'i denedim. Anlayabileceğim hiçbir şey bulamadım. Android için uygulama geliştirmenin bu çılgın dünyasında yoluma devam ediyorum.

Teşekkürler.

+0

404 Sayfa gibi recyclerView üzerinde Animasyon ekle Bulunamadı .... Ben görevinden düzenlenmiş @AmarbirSingh bağlantınız –

+0

ama henüz onaylamadı. Her neyse, burada konuştuğu https://www.youtube.com/watch?v=Q8TXgCzxEnw#t=30 bağlantısından bahseder. –

+0

@Amarbir Bunun için üzgünüz. Bağlantıyı zaten düzenledim. –

cevap

3

Animasyonu, RecyclerView'ın Bağdaştırıcısı onBindViewHolder yönteminde çalıştırmanız gerekir.

@Override 
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { 
    runEnterAnimation(viewHolder.itemView); 
} 

private void runEnterAnimation(View view) { 
     view.setTranslationY(Utils.getScreenHeight(context)); 
     view.animate() 
       .translationY(0) 
       .setInterpolator(new DecelerateInterpolator(3.f)) 
       .setDuration(700) 
       .start(); 
    } 
} 

burada

diğer bilgiler http://frogermcs.github.io/Instagram-with-Material-Design-concept-is-getting-real/ (FeedAdapter bakmak)

+0

"Symbol Utils çözümlenemiyor". Neden? –

+0

Ekran yüksekliği ile setTranslationY vermeniz gerekir. Yükseklik için buraya bakın http://stackoverflow.com/questions/1016896/get-screen-dimensions-in-pixels – HellCat2405

+0

İşler harika. Yine de bir şey daha. Onları sırayla nasıl canlandırabilirim? –

13

bu

recyclerView = (RecyclerView) findViewById(R.id.rv); 
     recyclerView.setHasFixedSize(true); 
     llm = new LinearLayoutManager(getApplicationContext()); 
     recyclerView.setLayoutManager(llm); 

     AnimationSet set = new AnimationSet(true); 

     Animation animation = new AlphaAnimation(0.0f, 1.0f); 
     animation.setDuration(500); 
     set.addAnimation(animation); 

     animation = new TranslateAnimation(
       Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, 
       Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f 
     ); 
     animation.setDuration(100); 
     set.addAnimation(animation); 

     controller = new LayoutAnimationController(set, 0.5f); 

     adapter = new RecycleViewAdapter(poetNameSetGets, this); 
     recyclerView.setLayoutAnimation(controller); 
+0

Seçilen cevap bu olmalı! –

+0

Geridönüşümden tüm verileri temizlediğimde bu animasyonu nasıl kullanabileceğimi biliyor musunuz? –

İlgili konular