volver poner pantalla movil instalar google descargar como chrome celular celu barra android navigation-drawer material-design android-toolbar

android - poner - Reemplace el diseño de la barra de herramientas de acuerdo con el fragmento mostrado



google toolbar chrome (1)

No estoy seguro de lo que intentas lograr, pero creo que, si es posible, deberías acercarte a esto dejando que los fragmentos personalicen tu barra de herramientas en lugar de reemplazarla. Puede permitir que sus fragmentos oculten / muestren vistas en la barra de herramientas según sus necesidades.

Añadir setHasOptionsMenu(true); en los fragmentos OnCreateView() y luego sobrescribir onOptionsMenuCreated()

Me gusta esto:

@Override public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { setHasOptionsMenu(true); return inflater.inflate(R.layout.result_list, container, false); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.this_frag_menu, menu); super.onCreateOptionsMenu(menu, inflater); }

Si necesita hacer cosas más específicas con la barra de herramientas, puede obtener la instancia usando

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

Tengo una actividad con el cajón de navegación que reemplaza el main_fragment_container en la actividad. Cuando se muestra uno de los fragmentos, quiero cambiar el diseño de la barra de herramientas y agregarle un girador (y eliminarlo cuando el fragmento esté oculto).

Mi diseño se ve así:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:sothree="http://schemas.android.com/apk/res-auto" android:id="@+id/main_parent_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" sothree:theme="@style/AppTheme.ActionBar" /> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Main layout --> <FrameLayout android:id="@+id/main_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- Nav drawer --> <fragment android:id="@+id/fragment_drawer" android:name="com.idob.mysoccer.ui.DrawerFragment" android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" android:layout_gravity="left|start" /> </android.support.v4.widget.DrawerLayout>