Android Hide ActionBar while scrolling in a ListView -


i looking method hide actionbar googleplay, when scrolling down , let actionbar reappear when scrolling up. have found lot of guides them recyclerview , using listview.

the best guide found this: https://mzgreen.github.io/2015/06/23/how-to-hideshow-toolbar-when-list-is-scrolling%28part3%29/.

this layout:

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.coordinatorlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorlayout" android:layout_width="match_parent" android:layout_height="match_parent">   <listview     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:id="@+id/flist" />  <android.support.design.widget.appbarlayout     android:id="@+id/appbarlayout"     android:layout_width="match_parent"     android:layout_height="wrap_content">      <android.support.v7.widget.toolbar         android:id="@+id/toolbar"         android:layout_width="match_parent"         android:layout_height="?attr/actionbarsize"         android:background="?attr/colorprimary"/>  </android.support.design.widget.appbarlayout>  <android.support.v4.view.viewpager     android:id="@+id/viewpager"     android:layout_width="match_parent"     android:layout_height="match_parent"/>  </android.support.design.widget.coordinatorlayout> 

this error:

process: com.mycompany.test, pid: 6172         java.lang.runtimeexception: unable start activity componentinfo{com.mycompany.test/com.mycompany.test.activities.friends_list_activity}: android.view.inflateexception: binary xml file line #2: error inflating class android.support.design.widget.coordinatorlayout                 @ android.app.activitythread.performlaunchactivity(activitythread.java:2329)                 @ android.app.activitythread.handlelaunchactivity(activitythread.java:2389)                 @ android.app.activitythread.access$900(activitythread.java:147)                 @ android.app.activitythread$h.handlemessage(activitythread.java:1296)                 @ android.os.handler.dispatchmessage(handler.java:102)                 @ android.os.looper.loop(looper.java:135)                 @ android.app.activitythread.main(activitythread.java:5254)                 @ java.lang.reflect.method.invoke(native method)                 @ java.lang.reflect.method.invoke(method.java:372)                 @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:898)                 @ com.android.internal.os.zygoteinit.main(zygoteinit.java:693)                 @ de.robv.android.xposed.xposedbridge.main(xposedbridge.java:117)          caused by: android.view.inflateexception: binary xml file line #2: error inflating class android.support.design.widget.coordinatorlayout                 @ android.view.layoutinflater.createview(layoutinflater.java:633)                 @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:743)                 @ android.view.layoutinflater.inflate(layoutinflater.java:482)                 @ de.robv.android.xposed.xposedbridge.invokeoriginalmethodnative(native method)                 @ de.robv.android.xposed.xposedbridge.handlehookedmethod(xposedbridge.java:684)                 @ android.view.layoutinflater.inflate(unknown source)                 @ android.view.layoutinflater.inflate(layoutinflater.java:414)                 @ android.view.layoutinflater.inflate(layoutinflater.java:365)                 @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:428)                 @ android.app.activity.setcontentview(activity.java:2144)                 @ com.mycompany.test.activities.friends_list_activity.oncreate(friends_list_activity.java:26)                 @ android.app.activity.performcreate(activity.java:5933)                 @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1105)                 @ android.app.activitythread.performlaunchactivity(activitythread.java:2282)                 at android.app.activitythread.handlelaunchactivity(activitythread.java:2389)                 at android.app.activitythread.access$900(activitythread.java:147)                 at android.app.activitythread$h.handlemessage(activitythread.java:1296)                 at android.os.handler.dispatchmessage(handler.java:102)                 at android.os.looper.loop(looper.java:135)                 at android.app.activitythread.main(activitythread.java:5254)                 at java.lang.reflect.method.invoke(native method)                 at java.lang.reflect.method.invoke(method.java:372)                 at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:898)                 at com.android.internal.os.zygoteinit.main(zygoteinit.java:693)                 at de.robv.android.xposed.xposedbridge.main(xposedbridge.java:117) 

edit: hiding actionbar on recyclerview/listview onscroll in guide above can't use code, need extend activity unable use getsupportactionbar()

edit 2.0:

my activity:

public class contacts_list_activity extends activity {     private searchview msearchview;     private contacts_list_adapter_obj contactsadapter;     private menu menu;     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_contacts_list);          contactsadapter = new contacts_list_adapter_obj(this);         final listview listview = (listview) findviewbyid(r.id.contacts);         listview.setadapter(contactsadapter);     }      @override     public boolean oncreateoptionsmenu(final menu menu) {         this.menu = menu;         menuinflater inflater = getmenuinflater();         inflater.inflate(r.menu.menu_contact_list_screen, menu);          msearchview = (searchview) menu.finditem(r.id.search).getactionview();          msearchview.setonquerytextlistener(new searchview.onquerytextlistener() {              @override             public boolean onquerytextsubmit(string s) {                 return false;             }              @override             public boolean onquerytextchange(string s) {                  contacts_list_adapter_obj filteradapter = contactsadapter;                 if (textutils.isempty(s)) {                     filteradapter.getfilter().filter("");                 } else {                     filteradapter.getfilter().filter(s.tolowercase());                 }                 return true;             }         });         msearchview.setonsearchclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 set_menuitem_visible(false);             }         });         msearchview.setoncloselistener(new searchview.oncloselistener() {             @override             public boolean onclose() {                 set_menuitem_visible(true);                 return false;             }         });          final menuitem searchmi = menu.finditem(r.id.search);          msearchview.setonquerytextfocuschangelistener(new view.onfocuschangelistener() {             @override             public void onfocuschange(view view, boolean querytextfocused) {                 if (!querytextfocused) {                     searchmi.collapseactionview();                 }             }         });         return true;     }  } 

this tried xml layout , works :

public class mainactivity extends appcompatactivity {      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);     } 

the issue in case seems base activity. extend contacts_list_activity appcompatactivity

updated layout - adding app:layout_scrollflags="scroll|enteralways" toolbar , app:layout_behavior="@string/appbar_scrolling_view_behavior" listview

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.coordinatorlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorlayout" android:layout_width="match_parent" android:layout_height="match_parent">   <listview     android:layout_width="match_parent"     android:layout_height="wrap_content"     app:layout_behavior="@string/appbar_scrolling_view_behavior"     android:id="@+id/flist" />  <android.support.design.widget.appbarlayout     android:id="@+id/appbarlayout"     android:layout_width="match_parent"     android:layout_height="wrap_content">      <android.support.v7.widget.toolbar         android:id="@+id/toolbar"         android:layout_width="match_parent"         app:layout_scrollflags="scroll|enteralways"         android:layout_height="?attr/actionbarsize"         android:background="?attr/colorprimary"/>  </android.support.design.widget.appbarlayout>  <android.support.v4.view.viewpager     android:id="@+id/viewpager"     android:layout_width="match_parent"     android:layout_height="match_parent"/>  </android.support.design.widget.coordinatorlayout> 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -