Kat*_*lon 19 android android-layout android-coordinatorlayout
我正试图"重新创建"(类似于)Play报亭的布局.根据文档,CoordinatorLayout的一般结构是
<CoordinatorLayout>
<!— view that shrinks —>
<AppBarLayout>
<CollapsingToolbarLayout>
…
</CollapsingToolbarLayout>
</AppBarLayout>
<!— view that scrolls —>
<SomeScrollView >
….
</SomeScrollView>
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
除了我看报亭应用程序外,我能看到的是它SomeScrollView实际上是一个用于TabLayout的ViewPager.对于我的特殊情况,我的主要问题是我SomeScrollView必须成为碎片的某种容器.基本上我想要的是
-------
| A |
| |
-------
| B |
| |
-------
Run Code Online (Sandbox Code Playgroud)
其中A是可折叠部分,B是滚动部分.同样,对于我的情况,B是动态片段的容器.所以A将有一个TabLayout,当用户点击一个标签时,它会导致B中的可见片段发生变化.B中的片段将包含RecycleView或可滚动的TextView.(实际上其中一个片段是一个FrameLayout,它包含一个RecycleView和一个TextView,其中任何一个都是可见的)
到目前为止,这是我的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
有人请帮我完成吗?
Ari*_*Roy 10
现在,这个库可以完全复制 Play Newstand布局.

它非常易于使用,并且具有很大的自定义范围.我知道你不愿意使用这样的库,但这可以使你的事情变得如此简单.
加上这个,
compile ('com.github.florent37:materialviewpager:1.0.7@aar'){
transitive = true
}
Run Code Online (Sandbox Code Playgroud)
并以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"
/>
Run Code Online (Sandbox Code Playgroud)
并按照库页面上的自定义指南进行操作.现在,如果您仍然不相信使用它,您仍然可以转向它并检查库是如何构建的.它可以为您提供足够的洞察力来自己创建(但这将是耗时的)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
1980 次 |
| 最近记录: |