hide l'azioneBar su Swipe vertical viewPager

Sto cercando di hide la barra degli strumenti My ActionBar su Swipe utilizzando un ViewPager verticale, questo è il mio MainActivity XML:

  <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="InconsistentLayout"> <android.support.design.widget.CoordinatorLayout android:id="@+id/coordinator_layout" 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="wrap_content" android:fitsSystemWindows="true"> <include android:id="@+id/toolbar" layout="@layout/view_toolbar" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/view_home" /> </android.support.design.widget.CoordinatorLayout> <include layout="@layout/view_left_drawer" /> </android.support.v4.widget.DrawerLayout> 

Ho aggiunto alla mia barra degli strumenti: app:layout_scrollFlags="scroll|enterAlways"

  • C'è un modo per rimuovere il ritardo di clic sui dispositivi touch per cellulari?
  • Difficoltà con la chiamata di una function Android NDK direttamente da Delphi
  • Qual è il modo giusto per importre un progetto Android Studio in un repository SVN?
  • Android Studio non mi consente di importre SDK
  • Android: per impostare un elemento selezionato quando si apre il ListView?
  • Phonegap's FileTransfer.upload () che lancia codice di errore 3 su Android
  • ho solo pagina vuota nel mio frammento, il ViewPager non è visibile:

     <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:isScrollContainer="false" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="fill_vertical" android:background="@color/greeen_theme" android:clipToPadding="false" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/light_theme_color_read" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/refreshListBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:background="@drawable/bg_refresh_list_button_selector" android:textColor="@android:color/white" android:visibility="visible"/> <com.axample.android.view.SwipeRefreshLayout android:id="@+id/swiperefresh" android:layout_width="match_parent" android:layout_height="match_parent"> <com.axample.android.adapter.vertical.VerticalViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/pager_padd_botom" android:clipToPadding="false"/> </com.axample.android.view.SwipeRefreshLayout> </RelativeLayout> </android.support.v4.widget.NestedScrollView> 

    video: https://www.youtube.com/watch?v=sWknAZFs6RA

    Per favore aiuto!!

    Aggiornamento: il mio view_left_drawer.xml

     <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/black_main" tools:showIn="@layout/activity_home"> <include layout="@layout/view_drawer_content"/> </FrameLayout> 

    il mio SwipeRefreshLayout : https://github.com/FredJul/Flym/blob/master/Flym/src/main/java/net/fred/feedex/view/SwipeRefreshLayout.java

  • Calendario di Android Gli events ricorrenti hanno la data / ora di fine errata
  • Serializzare un ArrayList
  • Come impostare il timer Android?
  • Android: Prendi foto senza interface utente
  • FILL_PARENT e MATCH_PARENT
  • Android ViewPager con elemento centrale più grande
  • 2 Solutions collect form web for “hide l'azioneBar su Swipe vertical viewPager”

    Problema con SwipeRefreshLayout, Dovrebbe essere in cima a Layout NestedScrollView.

     <android.support.v4.widget.SwipeRefreshLayout <android.support.v4.widget.NestedScrollView </<android.support.v4.widget.NestedScrollView> </<android.support.v4.widget.SwipeRefreshLayout> 

    activity_main.xml

     <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.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:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="end" tools:ignore="InconsistentLayout"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="end" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout> 

    app_bar_main.xml

     <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.sample.MainActivity" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay" android:layoutDirection="rtl"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main"/> </android.support.design.widget.CoordinatorLayout> 

    content_main.xml

     <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/swiperefreshlayout" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.v4.widget.NestedScrollView android:isScrollContainer="false" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary" android:clipToPadding="false" tools:context=".MainActivity" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/colorAccent" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/refreshListBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:background="@drawable/flat_selector" android:textColor="@android:color/white" android:visibility="visible"/> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Add Your ViewPager Instead of TextView" android:layout_below="@+id/refreshListBtn" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:textColor="#FFFFFF" android:gravity="center"/> </RelativeLayout> </android.support.v4.widget.NestedScrollView> </android.support.v4.widget.SwipeRefreshLayout> 

    Normalmente uso questo codice (vedi sotto). Ma questo è pronto per un altro tipo di layout. Puoi provare ad adattarlo al tuo layout.

      public static class ShowHideToolbarOnScrollingListener implements MyNestedScrollView.ScrollViewListener{ private Toolbar toolbar; private State state; private float toolbarElevation; public ShowHideToolbarOnScrollingListener(Toolbar toolbar, float toolbarElevation) { this.toolbar = toolbar; this.state = new State(); this.toolbarElevation = toolbarElevation; } @TargetApi(Build.VERSION_CODES.LOLLIPOP) private void toolbarSetElevation(float elevation) { if (AndroidUtils.isLollipop()) { toolbar.setElevation(elevation == 0 ? 1 : toolbarElevation); } } private void toolbarAnimateShow(final int verticalOffset) { toolbar.animate() .translationY(0) .setInterpolator(new LinearInterpolator()) .setDuration(180) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { toolbarSetElevation(verticalOffset == 0 ? 1 : toolbarElevation); } }); } private void toolbarAnimateHide() { toolbar.animate() .translationY(-toolbar.getHeight()) .setInterpolator(new LinearInterpolator()) .setDuration(180) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { toolbarSetElevation(1); } }); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public void onRestoreInstanceState(State state) { this.state.verticalOffset = state.verticalOffset; this.state.scrollingOffset = state.scrollingOffset; if (AndroidUtils.isLollipop()) { toolbar.setElevation(state.elevation); toolbar.setTranslationY(state.translationY); } } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public State onSaveInstanceState() { state.translationY = toolbar.getTranslationY(); if (AndroidUtils.isLollipop()) { state.elevation = toolbar.getElevation(); } return state; } @Override public void onScrollChanged(MyNestedScrollView v, int x, int y, int oldx, int oldy) { int dy = y-oldy; Log.d("dy", ""+dy); state.verticalOffset = v.computeVerticalScrollOffset(); state.scrollingOffset = dy; int toolbarYOffset = (int) (dy - toolbar.getTranslationY()); toolbar.animate().cancel(); if (state.scrollingOffset > 0) { if (toolbarYOffset < toolbar.getHeight()) { if (state.verticalOffset > toolbar.getHeight()) { toolbarSetElevation(toolbarElevation); } toolbar.setTranslationY(state.translationY = -toolbarYOffset); } else { toolbarSetElevation(1); toolbar.setTranslationY(state.translationY = -toolbar.getHeight()); } } else if (state.scrollingOffset < 0) { if (toolbarYOffset < 0) { if (state.verticalOffset <= 0) { toolbarSetElevation(1); } toolbar.setTranslationY(state.translationY = 0); } else { if (state.verticalOffset > toolbar.getHeight()) { toolbarSetElevation(toolbarElevation); } toolbar.setTranslationY(state.translationY = -toolbarYOffset); } } } @Override public void onEndScroll() { if (state.scrollingOffset > 0) { if (state.verticalOffset > toolbar.getHeight()) { toolbarAnimateHide(); } else { toolbarAnimateShow(state.verticalOffset); } } else if (state.scrollingOffset < 0) { if (toolbar.getTranslationY() < toolbar.getHeight() * -0.6 && state.verticalOffset > toolbar.getHeight()) { toolbarAnimateHide(); } else { toolbarAnimateShow(state.verticalOffset); } } } /** * Parcelable RecyclerView/Toolbar state for simpler saving/restoring its current state. */ public static final class State implements Parcelable { public static Creator<State> CREATOR = new Creator<State>() { public State createFromParcel(Parcel parcel) { return new State(parcel); } public State[] newArray(int size) { return new State[size]; } }; // Keeps track of the overall vertical offset in the list private int verticalOffset; // Determines the scroll UP/DOWN offset private int scrollingOffset; // Toolbar values private float translationY; private float elevation; State() { } State(Parcel parcel) { this.verticalOffset = parcel.readInt(); this.scrollingOffset = parcel.readInt(); this.translationY = parcel.readFloat(); this.elevation = parcel.readFloat(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeInt(verticalOffset); parcel.writeInt(scrollingOffset); parcel.writeFloat(translationY); parcel.writeFloat(elevation); } } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.