2015-12-04 104 views
3

我目前正在使用設計支持庫。我試着用我的CoordinatorLayout來實現Snackbar,它包裝整個佈局。當要顯示Snackbar時,它會引發FAB。但它沒有努力下降,從而保持在翻譯的距離之上。如何正確實施Snackbar,協調員佈局和底部FAB?

但是,當我通過滑動Snackbar而忽略它時,它會下降。所以CoordinatorLayout知道里麪包裹着FAB。

的.xml

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

    <RelativeLayout 
     android:id="@+id/relative_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="@color/primary" 
      android:elevation="4dp" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

     <com.google.android.gms.ads.AdView 
      android:id="@+id/ad_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/toolbar" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center_horizontal" 
      ads:adSize="BANNER" 
      ads:adUnitId="@string/banner_ad_unit_id" /> 

     <ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@id/ad_view"> 

      <include layout="@layout/card_view" /> 

     </ScrollView> 

    </RelativeLayout> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/btn_generate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right|end" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_refresh_white_24dp" 
     app:elevation="6dp" 
     app:fabSize="normal" 
     app:pressedTranslationZ="12dp" /> 

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

的.java

Snackbar.make(mCoordinatorLayout, R.string.copied_to_clipboard, 
       Snackbar.LENGTH_SHORT).show(); 

回答

3

如果你想顯示Snackbar這樣,雖然這表明了,在CoordinatorLayout將進行調整,然後嘗試下面的代碼

findViewById(R.id.btn_generate).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     Snackbar.make(view, "Hello Snackbar", Snackbar.LENGTH_LONG).show(); 
     } 
}); 
+0

沒有運氣。案件依然如此。 –

+0

@AchillesRasquinha我認爲這將有助於https://lab.getbase.com/introduction-to-coordinator-layout-on-android/ – Wizard

+0

是的。我已經檢查過他們。包括文檔。但沒有運氣。 –