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");
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
Post a Comment