2

enter image description here在Android中的ListView中動畫顯示項目

我有一個自定義適配器的列表視圖。到目前爲止,我已經在第一個「屏幕」上實現了功能。

現在,我想添加一個關於每個項目的詳細信息選項卡,這會推動其下的成員以獲取空間。 如何動畫按下,所以它有一個平滑的過渡?

+0

您需要創建另一個活動/片段,該活動/片段的佈局應該包含項目詳細信息的字段。實現在屏幕之間進行轉換或使用詳細信息片段替換當前片段的點擊式功能。希望這已經足夠清晰 – victorantunes

回答

3

在您的自定義適配器中,在getView()方法中,可以爲包含整行的視圖設置onClickListener。然後,您可以選擇在用戶點擊時實現顯示/隱藏其他視圖的動畫。

滑動查看下一個距離

view.animate().translationY(distance); 

以後,您可以滑動查看回到原來的位置是這樣的:

view.animate().translationY(0); 

您也可以輕鬆組合多個動畫。下面的動畫將通過其高度查看滑下,並在同一時間而褪色它:

// Prepare the View for the animation 
view.setVisibility(View.VISIBLE); 
view.setAlpha(0.0f); 

// Start the animation 
view.animate() 
    .translationY(view.getHeight()) 
    .alpha(1.0f); 

然後,您可以淡出視野退了出來並滑回原來的位置。我們還設置了AnimatorListener所以我們可以設置視圖的可視性回GONE一旦動畫完成:

view.animate() 
    .translationY(0) 
    .alpha(0.0f) 
    .setListener(new AnimatorListenerAdapter() { 
     @Override 
     public void onAnimationEnd(Animator animation) { 
      super.onAnimationEnd(animation); 
      view.setVisibility(View.GONE); 
     } 
    }); 
0

你在繪製對象文件夾

<?xml version="1.0" encoding="utf-8"?> 
    <selector 
     android:id="@+id/myselector" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item 
      android:state_activated="false" 
      android:drawable="#C9C9C9" /> 

    </selector> 

列表視圖list_selector.xml文件中

機器人:listSelector = 「@繪製/ list_selector_drawer」

<ListView 
     android:id="@+id/left_drawer" 
     android:layout_width="235dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="#ffffff" 
     android:choiceMode="singleChoice" 
     android:divider="#d2d1d1" 
     android:listSelector="@drawable/list_selector_drawer" 
     android:dividerHeight="1dp"/> 

工作

相關問題