9

Daha fazla bilgi görmek ve daha sonra kolayca daraltmak için bir kart görünümünü genişletmeme izin verecek bir çözüm arıyorum. Google Keep'in bunun gibi kart örnekleri vardır. Bunu nasıl yaptığını bilen var mı? Kart görüşümün 2 versiyonunu (bir tanesi çöktü ve bir tanesi genişletilmiş) oluşturup iki görünüm arasında geçiş yapmak için hareket yöntemleriyle eşleştirilen bir Animator sınıfını kullanabilir miyim? Kart sahiplerimi tutmak için bir Recyclerview kullanıyorum. http://developer.android.com/training/animation/layout.htmlTıklatma veya kaydırma hareketi (Android) ile CardView'ı genişletmek/daraltmak mı istiyorsunuz?

+3

gibi Someting deneyin, ArrayList nesne sınıfında isexpanded bir boolean almak: hiç alakalı olup olmadığını

bunu buldum kart görünümü, her zaman gösterilecek olan üst kısım ve gizlenecek ya da gösterilecek alt kısım, doğru mu? Ardından, karta her dokunulduğunda (veya herhangi bir başka olayda) alt kısmın görünürlüğünü değiştirebilir ve wrap_content' kart görüntüleme yüksekliğini yapabilirsiniz. Bu, niyetiniz doğrultusunda çalışırsa, 'anim' klasörünüzün içindeki bir xml dosyasında' 've' 'kullanarak bu animasyonu kolayca yapabilirsiniz. İstediğin bu mu? Eğer bana bildirirse, kodu yazacağım. – NecipAllef

cevap

0
<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/tools" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="wrap_content"> 

<LinearLayout 
android:layout_width="match_parent" 
android:orientation="vertical" 
android:animateLayoutChanges="true" 
android:layout_height="match_parent"> 

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content"> 
    //here put the view which is always visible 
<LinearLayout 
android:layout_width="match_parent" 
android:visibilty="gone" 
android:id="@+id/expandableLayout" 
android:layout_height="wrap_content"> 
    //here put which will collapse and expand 
</LinearLayout> 
</android.support.v7.widget.CardView> 

if (listobj.isexpanded) 
    { 
     holder.expandableLayout.setVisibility(View.VISIBLE); 
    } 
    else { 
     holder.expandableLayout.setVisibility(View.GONE); 
    } 
    holder.cardView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (listobj.isexpanded) 
      { 
       holder.expandableLayout.setVisibility(View.GONE); 
       listobj.isexpanded=false; 
       notifyItemChanged(position); 
      } 
      else { 
       holder.expandableLayout.setVisibility(View.VISIBLE); 
       listobj.isexpanded=true; 
       notifyItemChanged(position); 
      } 
     } 
    }); 

iki parça üzerinde bulunmaktadır bu

İlgili konular