2017-09-26 114 views
1

我有一個FloatingButton錨定到CoordinatorLayout中的視圖,一切正常,但是如果我鎖定屏幕並解鎖回來,FloatinButton會失去它的錨定屬性並保持底部浮動一段時間。如何在解鎖鎖定屏幕後將浮動動作按鈕固定在我的視圖中?

的源代碼:

<?xml version="1.0" encoding="utf-8"?> 
<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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.example.user.myapplication.ScrollingActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/app_bar_height" 
     android:fitsSystemWindows="true" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/toolbar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/AppTheme.PopupOverlay" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 
    </android.support.design.widget.AppBarLayout> 

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

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/fab_margin" 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom|end" 
     app:srcCompat="@android:drawable/ic_dialog_email" /> 

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

正如你所看到的,floatingButton錨定到app_bar觀點:

enter image description here

但是,如果屏幕被鎖定和解鎖回來了本次活動運行,我在這幾秒鐘:

enter image description here

此問題發生在Android 4.2及以上版本,

有些想法嗎?

回答

1

我最終找到了一個解決方案,只需將FloatingActionButton的可見性設置爲在activity的onPause()方法中完成,然後在activity的onResume()方法中將其可見性設置爲VISIBLE,對於這種情況非常適用, FloatingActionButton恢復其掛靠性質再次顯示時,

的源代碼:

@Override 
    protected void onResume() { 
     fab.setVisibility(View.VISIBLE); 
     super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     fab.setVisibility(View.GONE); 
    } 

That's所有,

希望它可以幫助大家用這個奇怪的問題。