2015-07-12 1 views
2

Mon collapintoolbar ne fonctionne pas très bien ..CollapsingToolbarLayout setTitle ne fonctionne pas immédiatement

  1. Le collapsingToolbarLayout.setTitle ne fonctionne après l'effondrement est terminé. Im essaye de mettre ceci quand je change le fragment.

  2. Quand je change le fragment, la barre d'outils reste dans le même état: example

Je veux si la barre d'outils est réduite et je demande à changer de fragment, barre d'outils va se développer à nouveau l'état.

Voici mon xml de MainActivity:

<android.support.v4.widget.DrawerLayout android:id="@+id/drawerLayout" 
            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=".MainActivity"> 

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="160dp" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsingToolbarLayout" 

      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginStart="48dp" 
      app:expandedTitleMarginEnd="64dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="fitXY" 
       android:src="@drawable/appbar_image" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7" 
       android:alpha="0.7"/> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       app:layout_collapseMode="pin" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> 

     </android.support.design.widget.CollapsingToolbarLayout> 
    </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"> 

    </FrameLayout> 

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


<android.support.design.widget.NavigationView 
    android:id="@+id/navigationView" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:clickable="true" 
    android:fitsSystemWindows="true" 
    app:headerLayout="@layout/nav_header" 
    app:menu="@menu/drawer_view"/> 

Et voici mon code pour changer le titre:

//On fragment 
public void onResume(){ 
    super.onResume(); 

    // Set title bar 
    ((MainActivity) getActivity()) 
      .setActionBarTitle(getString(R.string.app_name)); 

} 

//on mainactivity 
public void setActionBarTitle(String title) { 
    collapsingToolbarLayout.setTitle(title); 
} 

Répondre