Android toolbar show title and subtitle only when AppBarLayout collepsed -


i have activity appbarlayout ,collapsingtoolbarlayout , toolbar. setting title , subtitle code. want toolbar hidden , show when appbar layout collapsed, code working (toolbar hide initially) showing toolbar title , subtitle always. how show title when appbar layout collapse completely

<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:titleenabled="false"         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> 

setting title , subtitle

 toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);     setsupportactionbar(toolbar);     getsupportactionbar().setdisplayhomeasupenabled(true);     getsupportactionbar().setdisplayshowhomeenabled(true);     getsupportactionbar().settitle("title");     getsupportactionbar().setsubtitle("sutitle"); 

enter image description here

a simple appbarlayout.onoffsetchangedlistener should trick using built-in views:

appbarlayout appbarlayout = (appbarlayout) findviewbyid(r.id.app_bar); appbarlayout.addonoffsetchangedlistener(new appbarlayout.onoffsetchangedlistener {     @override     public void onoffsetchanged(appbarlayout appbarlayout, int offset) {             actionbar actionbar = getsupportactionbar();             boolean toolbarcollapsed = math.abs(offset) >= appbarlayout.gettotalscrollrange();             actionbar.settitle(toolbarcollapsed ? yourtitle : "");             actionbar.setsubtitle(toolbarcollapsed ? yoursubtitle : "");         } }); 

(this code written in c# (xamarin), not java, minor modifications may needed)


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -