Playニューススタンドのレイアウトを「再作成」しようとしています(似たようなもの)。ドキュメントによると、CoordinatorLayoutの一般的な構造は次のとおりです。
<CoordinatorLayout>
<!— view that shrinks —>
<AppBarLayout>
<CollapsingToolbarLayout>
…
</CollapsingToolbarLayout>
</AppBarLayout>
<!— view that scrolls —>
<SomeScrollView >
….
</SomeScrollView>
</CoordinatorLayout>
Newsstandアプリを見るときを除いて、私が見ることができるのは、それSomeScrollView
が実際にはTabLayoutのViewPagerであるということです。私の特定のケースでは、私の主な問題はSomeScrollView
、フラグメントのある種のコンテナでなければならないということです。だから基本的に私が欲しいのは
-------
| A |
| |
-------
| B |
| |
-------
ここで、Aは折りたたみ可能な部分、Bはスクロール部分です。繰り返しますが、私の場合、Bは動的フラグメントのコンテナーです。したがって、AにはTabLayoutがあり、ユーザーがタブをクリックすると、Bの表示フラグメントが変更されます。Bのフラグメントには、RecycleViewまたはスクロール可能なTextViewのいずれかが含まれます。(実際には、フラグメントの1つはRecycleViewとTextViewの両方を含むFrameLayoutであり、どちらも一度に表示されます)
これまでの私のコードは次のとおりです。
<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>
誰かが私がそれを完了するのを手伝ってくれませんか?
これで、このライブラリはPlayNewstandレイアウトを正確に複製できます。
その非常に使いやすいし、持っているカスタマイズのための巨大な範囲を。あなたがライブラリをそのように使用することをいとわないという事実を私は知っています、しかしこれはあなたにとって物事をとても簡単にすることができます。
これを追加するだけです
compile ('com.github.florent37:materialviewpager:1.0.7@aar'){
transitive = true
}
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"
/>
ライブラリページのカスタマイズガイドラインに従ってください。それでもまだ使用することに確信が持てない場合でも、ライブラリにアクセスして、ライブラリがどのように構築されたかを確認できます。自分で作成するための十分な洞察を得ることができます(ただし、時間がかかります)
それが役に立てば幸い。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加