Android浮动操作按钮没有重置位置

问题描述:

在Android M上使用23.3.0版本的支持库和进行测试。在显示Snackbar后出现FAB重新定位问题。Android浮动操作按钮没有重置位置

当显示Snackbar时,晶圆厂正确向上移动,但当Snackbar解散时它不会向下移动。

代码:

Snackbar.make(coordinatorLayout, R.string.msg_add_team,  Snackbar.LENGTH_LONG).show(); 

也试过用小吃吧的回调功能给力的位置回到解雇,这打破了小吃吧随后显示,因为它不再移动晶圆厂的出路。

代码回调:

@Override 
public void onDismissed(Snackbar snackbar, int event) { 
    super.onDismissed(snackbar, event);      
    newGameFab.setTranslationY(0); 
} 

布局:

<android.support.v7.widget.RecyclerView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/upcoming_game_list" 
/> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/new_game" 
    android:layout_width="56dp" 
    android:layout_height="56dp" 
    android:src="@drawable/ic_add_white_24dp" 
    android:layout_gravity="bottom|end" 
    app:elevation="6dp" 
    app:pressedTranslationZ="12dp" 
    android:layout_marginBottom="@dimen/fab_margin_bottom" 
    android:layout_marginRight="@dimen/fab_margin_right" 
    app:borderWidth="0dp" 
    app:backgroundTint="@color/accent"/> 

包装用CoordinatorLayout你这样的含浮动操作按钮查看:

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/coordinatorLayout"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/upcoming_game_list"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/new_game" 
     android:layout_width="56dp" 
     android:layout_height="56dp" 
     android:src="@drawable/ic_add_white_24dp" 
     android:layout_gravity="bottom|end" 
     app:elevation="6dp" 
     app:pressedTranslationZ="12dp" 
     android:layout_marginBottom="@dimen/fab_margin_bottom" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     app:borderWidth="0dp" 
     app:backgroundTint="@color/accent"/> 
</android.support.design.widget.CoordinatorLayout> 
+0

提供的布局是包含在具有CoordinatorLayout的不同布局中的片段的一部分。 – Victus