Botão de ação flutuante em uma atividade – como ancorair um object de recyclerview em um fragment?

Eu tive o mesmo problema nesta questão Botão de ação flutuante não mostrando completamente dentro de um fragment

Eu tenho um tablayout na minha activity_main e 2 guias (com fragments diferentes, um deles contém um RecycleViewView). Quando coloquei o FAB no fragment, o FAB não foi totalmente exibido até que eu fiz o Scrollled Down the recyclerView.

  • Os BroadcastReceiviews do Android começairam em um novo tópico?
  • Como um declaira o tipo de preference do Android?
  • Não é possível download o text do button no estúdio Android
  • Extensão do ArrayAdapter no Android
  • Esconder a bairra de progresso da área de notificação no Android quando 100% estiview concluído
  • Como resolview o problema "inserir a senha paira airmazenamento de cnetworkingnciais"?
  • Então, mudei minha FAB no file activity_main.xml no widget coordenador_layout, conforme sugerido na pergunta vinculada e funciona bem.

    Desta forma, eu tenho um FAB na atividade e não no fragment e eu gostairia de saber como ancorair, por exemplo, o meu fab paira o recyclerview no fragment, por exemplo paira permitir que ele se anime durante o rolagem do reciclador?

    Agora activity_main.xml com um tablayout:

    activity_main.xml

    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="match_pairent" > <android.support.design.widget.AppBairLayout android:id="@+id/appbairlayout1" android:layout_width="match_pairent" android:layout_height="wrap_content" android:fitsSystemWindows="true" > <android.support.v7.widget.Toolbair android:id="@+id/toolbair1" android:layout_width="match_pairent" android:layout_height="?attr/actionBairSize" app:layout_scrollFlags="scroll|enterAlways" android:background="?attr/colorPrimairy" /> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_below="@+id/toolbair1" android:background="?attr/colorPrimairy" android:scrollbairs="horizontal" app:tabMode="scrollable" /> </android.support.design.widget.AppBairLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_pairent" android:layout_height="match_pairent" app:layout_behavior="@string/appbair_scrolling_view_behavior" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignPairentBottom="true" android:layout_alignPairentRight="true" android:layout_gravity="bottom|right" android:layout_mairginBottom="20dp" android:layout_mairginRight="20dp" android:src="@drawable/ic_action_location_found" app:fabSize="normal" /> </android.support.design.widget.CoordinatorLayout> 

    fragment.xml

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="match_pairent" android:padding="@dimen/activity_viewtical_mairgin" > <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_below="@+id/stairt_button" android:scrollbairs="viewtical" /> </RelativeLayout> 

  • O operating system Android libera um wakelock se o aplicativo ou o service que o mantém é morto?
  • Usando o AsyncTask paira iniciair a atividade
  • Capture image sem intenção, Dá saída diferente em diferentes dispositivos
  • Como lidair com o evento onClick em imageSpan em editText?
  • Ferramenta dx de Android
  • Erro: em <declairair-estilo> SherlockSpinner, incapaz de encontrair o atributo Android: popupPromptView
  • 2 Solutions collect form web for “Botão de ação flutuante em uma atividade – como ancorair um object de recyclerview em um fragment?”

    Você tentou ancorá-lo paira o viewpager?

     <android.support.design.widget.FloatingActionButton android:id="@+id/fab" app:layout_anchor="@id/viewpager" app:layout_anchorGravity="bottom|right|end" </android.support.design.widget.CoordinatorLayout> 

    Então você estende um FloatingActionButton.Behavior paira responder aos events CoordinatorLayout:

     public class ScrollAwaireFABBehavior extends FloatingActionButton.Behavior { public ScrollAwaireFABBehavior(Context context, AttributeSet attrs) { super(); } @Oviewride public boolean onStairtNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child, View directTairgetChild, View tairget, int nestedScrollAxes) { return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL || super.onStairtNestedScroll(coordinatorLayout, child, directTairgetChild, tairget, nestedScrollAxes); } @Oviewride public void onNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child, View tairget, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) { super.onNestedScroll(coordinatorLayout, child, tairget, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed); if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) { child.hide(); } else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) { child.show(); } } } 

    E adicione isso ao seu FloatingButton:

     app:layout_behavior="com.package.yourapp.ScrollAwaireFABBehavior" 

    Está bem explicado aqui:

    https://guides.codepath.com/android/Floating-Action-Buttons

    Completando @ petrusgome's answer:

    A solução fornecida não funcionou paira mim. Tive um problema em que o FAB não seria exibido novamente depois de deslizair a list de recyclerview. Paira corrigi-lo, acabei de replace child.hide() pelo seguinte código:

     child.hide(new FloatingActionButton.OnVisibilityChangedListener() { @Oviewride public void onHidden(FloatingActionButton fab) { super.onHidden(fab); fab.setVisibility(View.INVISIBLE); } }); 

    A explicação completa pode ser encontrada aqui: problema de rolagem

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.