1

我在CoordinatorLayout底部顯示一個晶圓廠按鈕。在FAB之上,我想要顯示一個對話框(從底部開始動畫)和FAB動畫到同一個對話框的頂部,並使它像對話框的關閉按鈕一樣工作。Android:將FAB動畫化爲SnackBar對話框頂部

我知道如果我們使用CoordinatorLayout和FAB,SnackBar表現出同樣的動畫,但我希望對話框輸入和退出的動畫也一樣。

有什麼辦法可以實現同樣的動畫嗎?

回答

0

要顯示您的小吃吧

public static void showSnackBar(@NonNull View view, @NonNull CharSequence text, 
            @Snackbar.Duration int duration) { 
     Snackbar snack = Snackbar.make(view, text, duration); 
     TextView snackTextView = (TextView) snack.getView().findViewById(android.support.design.R.id.snackbar_text); 
     snackTextView.setMaxLines(5); 
     snack.show(); 
    } 

這裏的觀點是你的參考協調員佈局

在XML把你的工廠按鈕這樣

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/coordinatorLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 



     <android.support.v4.widget.SwipeRefreshLayout 
      android:id="@+id/stream_refresh_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      > 

      <android.support.v7.widget.RecyclerView 
       android:id="@+id/stream_recyclerview" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:focusable="false" 
       android:scrollbars="vertical" /> 
     </android.support.v4.widget.SwipeRefreshLayout> 




     <ProgressBar 
      android:id="@+id/groupLoadingView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" /> 
    </RelativeLayout> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/postButton" 
     android:layout_width="58dp" 
     android:layout_height="58dp" 
     android:layout_marginBottom="16dp" 
     android:layout_marginRight="16dp" 
     android:scaleType="center" 
     android:src="@drawable/chat_newpost_button_selector" 
     app:backgroundTint="@color/light_blue_color" 
     app:borderWidth="0dp" 
     app:elevation="6dp" 
     app:layout_anchor="@+id/stream_recyclerview" 
     app:layout_anchorGravity="bottom|right|end" /> 

</android.support.design.widget.CoordinatorLayout>