android - How to create something similar to Play Newsstand layout -


i trying “recreate” (something similar to) play newsstand layout. per documentation general structure coordinatorlayout is

<coordinatorlayout>     <!—  view shrinks —>     <appbarlayout>         <collapsingtoolbarlayout>             …         </collapsingtoolbarlayout>     </appbarlayout>      <!— view scrolls —>     <somescrollview >         ….     </somescrollview> </coordinatorlayout> 

except when @ newsstand app, able see somescrollview viewpager tablayout. particular case, main issue somescrollview has sort of container fragments. want is

------- |   | |     | ------- |  b  | |     | ------- 

where collapsible portion , b scrolling portion. again, case b container dynamic fragments. have tablayout , when user clicks on tab causes visible fragment in b change. fragment in b contain either recycleview or scrollable textview. (actually 1 of fragments framelayout contains both recycleview , textview, either of visible @ time)

here code far:

<android.support.design.widget.coordinatorlayout     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"     tools:context=".mainactivity">      <!-- collapsing view -->     <android.support.design.widget.appbarlayout         android:id="@+id/app_bar"         android:layout_width="match_parent"         android:layout_height="wrap_content">          <android.support.design.widget.collapsingtoolbarlayout             android:layout_width="match_parent"             android:layout_height="wrap_content"             app:layout_scrollflags="scroll|exituntilcollapsed">              <include                 …                 />              <android.support.design.widget.tablayout                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 app:layout_scrollflags=“…”                 />          </android.support.design.widget.collapsingtoolbarlayout>      </android.support.design.widget.appbarlayout>      <!-- scrolling view -->     <android.support.v4.view.viewpager         android:id="@+id/main_viewpager"         android:layout_width="match_parent"         android:layout_height="wrap_content"         >      </android.support.v4.view.viewpager>      <android.support.design.widget.floatingactionbutton         android:layout_height="wrap_content"         android:layout_width="wrap_content"         app:layout_anchor="@id/app_bar"         app:layout_anchorgravity="bottom|right|end"         android:src="@drawable/ic_add"         android:layout_margin="@dimen/minor_horizontal_margin"         android:clickable="true"/>  </android.support.design.widget.coordinatorlayout> 

will please me complete it?

now, library can exactly replicate play newstand layout.

enter image description here

its very easy use , has got huge scope customizations. aware of fact not willing use library such, can make things easy you.

just add this,

compile ('com.github.florent37:materialviewpager:1.0.7@aar'){     transitive = true } 

and add layout in xml,

<com.github.florent37.materialviewpager.materialviewpager     android:id="@+id/materialviewpager"     android:layout_width="match_parent"     android:layout_height="match_parent"     app:viewpager_logo="@layout/header_logo"     app:viewpager_logomargintop="100dp"     app:viewpager_color="@color/colorprimary"     app:viewpager_headerheight="200dp"     app:viewpager_headeralpha="1.0"     app:viewpager_hidelogowithfade="false"     app:viewpager_hidetoolbarandtitle="true"     app:viewpager_enabletoolbarelevation="true"     app:viewpager_parallaxheaderfactor="1.5"     app:viewpager_headeradditionalheight="20dp"     app:viewpager_displaytoolbarwhenswipe="true"     app:viewpager_transparenttoolbar="true"     app:viewpager_animatedheaderimage="true"     /> 

and follow customization guidelines on library page. now, if still not convinced use it, still can head on , check how library built. can give enough insight on creating (but time-consuming)

hope helps.


Comments