0

Ich bin neu in der Android-Entwicklung und lerne kürzlich über Fragmente.Verhindern, dass FAB beim Scrollen in RecyclerView im Fragment heruntergeht

ich ein recyclerview innerhalb Fragment haben, und ich möchte es in die Symbolleiste angebracht werden, habe ich versucht, setzen app:layout_behavior="@string/appbar_scrolling_view_behavior" im Inneren des Behälters Layout aber wenn die Symbolleiste die FAB bewegt sich nach unten unterhalb der Navigationsleiste zeigt, wie Sie here sehen können.

activity_main.XML

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 
    android:id="@+id/main_screen" 
    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" 
    tools:context="com.atar.mango.MainActivity"> 

    <android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.design.widget.AppBarLayout 
      android:id="@+id/app_bar" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

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

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

     <FrameLayout 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/logo_header" 
     app:menu="@menu/menu_for_navigation_view"/> 

</android.support.v4.widget.DrawerLayout> 

home_fragment.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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.atar.mango.HomeFragment" 
    android:background="@color/background"> 

    <TextView 
     android:id="@+id/empty" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:text="@string/empty" 
     android:gravity="center" 
     android:textSize="90sp" 
     android:textColor="#32000000"/> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/notes" 
     app:backgroundTint="@color/background" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scrollbars="none" 
     android:overScrollMode="never"> 

    </android.support.v7.widget.RecyclerView> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/add_note" 
     app:backgroundTint="@color/options" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     android:layout_marginEnd="@dimen/fab_margin_right" 
     app:layout_anchorGravity="bottom|right|end" 
     android:layout_marginBottom="16dp" 
     android:src="@mipmap/add_note" 
     app:borderWidth="0dp" 
     android:elevation="6dp" 
     app:pressedTranslationZ="12dp" 
     app:fabSize="normal"/> 

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

Dank.

Antwort

0

Ich glaube, Sie Ihr Layout Ziel angeben müssen, auf diese Weise:

<android.support.design.widget.FloatingActionButton 
... 
    android:layout_gravity="bottom|end|right" 
    app:layout_anchor="@id/notes" 
    app:layout_anchorGravity="bottom|right|end" 
/> 
+0

ändert nichts :( –

Verwandte Themen