折叠工具栏布局与viewpager [英] Collapsing ToolBar Layout with viewpager

查看:318
本文介绍了折叠工具栏布局与viewpager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用CollapsingBarLayout与viewpager和viewpager的片段是具有列表视图,GridView控件。

I am using CollapsingBarLayout with viewpager and the fragments of viewpager are having listview, gridview.

下面是我的code:

    <?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.bigsteptech.seandroidnativeapp.classes.modules.common.ViewGroupEvent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleTextAppearance="@style/TransparentText">

            <FrameLayout
                android:id="@+id/carouselLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax">

                <ImageView
                    android:id="@+id/coverImage"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop"/>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:gravity="bottom"
                    android:orientation="vertical"
                    android:layout_gravity="bottom"
                    android:padding="@dimen/profile_image_margin"
                    android:background="@drawable/gradient_bg"
                    android:layout_height="wrap_content">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/profile_image_margin"
                        android:textSize="@dimen/text_size_xlarge"
                        android:textStyle="bold"
                        android:textColor="@color/white"
                        android:id="@+id/content_title"/>

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_marginLeft="@dimen/profile_image_margin"
                        android:layout_height="wrap_content">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textStyle="bold"
                            android:textColor="@color/white"
                            android:textSize="@dimen/text_size_medium"
                            android:id="@+id/category_title"/>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textStyle="bold"
                            android:layout_toRightOf="@+id/category_title"
                            android:layout_marginLeft="@dimen/profile_image_margin"
                            android:textColor="@color/white"
                            android:textSize="@dimen/text_size_medium"
                            android:id="@+id/memberCount"/>

                    </RelativeLayout>


                </LinearLayout>

            </FrameLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:theme="@style/ActionBarThemeOverlay"
                app:popupTheme="@style/ActionBarPopupThemeOverlay"
                android:background="@drawable/gradient_bg"
                app:layout_collapseMode="pin" />

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"
        android:isScrollContainer="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/contentInfo"
                android:paddingBottom="48sp"
                android:clipToPadding="false"
                android:orientation="vertical">

                <ProgressBar
                    style="?android:attr/progressBarStyle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/profile_page_left_right_margin"
                    android:layout_gravity="center"
                    android:id="@+id/progressBar"/>

                <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:background="@color/grey_light">

                    <TextView android:id="@+id/ownerTitle"
                        android:clickable="true"
                        android:focusable="true"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/keyline_1"
                        android:layout_gravity="center_vertical"
                        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                        android:textColor="@color/body_text_1" />

                </LinearLayout>

                <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/profile_image_margin"
                    android:padding="10dp">

                    <com.bigsteptech.seandroidnativeapp.Classes.Modules.Common.ViewRelated.ExpandableTextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/keyline_1"
                        style="@style/TextBody"
                        android:layout_gravity="center_vertical"
                        android:id="@+id/view_description" />

                </LinearLayout>

                <android.support.design.widget.TabLayout
                    android:id="@+id/slidingTabs"
                    android:layout_width="match_parent"
                    app:tabIndicatorHeight="3dp"
                    app:tabMode="scrollable"
                    android:layout_height="wrap_content"/>

                <android.support.v4.view.ViewPager
                    android:id="@+id/pager"
                    android:layout_width="match_parent"
                    android:layout_height="300dp">

                </android.support.v4.view.ViewPager>


            </LinearLayout>


        </RelativeLayout>

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

    <android.support.design.widget.FloatingActionButton
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        app:layout_anchor="@id/appbar"
        android:id="@+id/joinGroupButton"
        app:layout_anchorGravity="bottom|right|end"
        android:src="@drawable/ic_action_new"
        android:layout_margin="@dimen/fab_margin"
        android:clickable="true"/>

</android.support.design.widget.CoordinatorLayout>

这是具有列表视图的片段,GridView控件不滚动在倒塌的工具栏,我怎么能做到这一点的工作。

The fragments which are having listview, gridview do not scroll to up in collapsing toolBar, how can I achieve this working..

请帮帮我,谢谢你这么多先进的...

Please help me, thank you so much in advanced...

推荐答案

我已经实现了这一点,我会把我的code与使用的库 首先,这是布局文件

i have achieved this i will put my code with the library used firstly this is the layout file

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/attraction_lay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f5f6f5">

<RelativeLayout
    android:id="@+id/bar"
    android:layout_width="match_parent"
    android:layout_height="47dp">

    <TextView
        android:id="@+id/exp_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"
        android:text="See &amp; do"
        android:textColor="#1b7bba"
        android:textSize="17sp" />

    <RelativeLayout
        android:id="@+id/relmenu"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true">

        <ImageView
            android:layout_width="17dp"
            android:layout_height="14dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="17dp"
            android:layout_marginLeft="8dp"
            android:src="@drawable/menu_icon_blue" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relsearch"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true">

        <ImageView
            android:layout_width="18dp"
            android:layout_height="18dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="17dp"

            android:layout_marginRight="8dp"
            android:src="@drawable/search_icon_blue" />

    </RelativeLayout>

</RelativeLayout>

<View
    android:id="@+id/div"
    android:layout_width="match_parent"
    android:layout_height="2px"
    android:layout_below="@+id/bar"
    android:background="#1b7bba" />

<FrameLayout
    android:id="@+id/layout_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:layout_below="@+id/div">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:divider="@null"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:listSelector="@android:color/transparent"
        android:scrollbars="none" />

    <FrameLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="290dp"
        android:layout_marginTop="0dp"
        android:orientation="vertical">

        <FrameLayout
            android:id="@+id/images_header"
            android:layout_width="fill_parent"
            android:layout_height="250dp"
            android:layout_marginBottom="40dp">

            <android.support.v4.view.ViewPager
                android:id="@+id/gallery"
                android:layout_width="fill_parent"
                android:layout_height="250dp"
                android:clickable="true"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:overScrollMode="never" />

            <RelativeLayout
                android:id="@+id/gallery_back"

                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_gravity="left|center_vertical">

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="52dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:background="@drawable/arrow_back" />
            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/gallery_next"
                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_gravity="right|center_vertical">

                <ImageView

                    android:layout_width="20dp"
                    android:layout_height="52dp"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:background="@drawable/arrow_next" />
            </RelativeLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="-150dp"
                android:layout_marginTop="170dp"
                android:background="@drawable/horizontal_gradient" />

            <TextView
                android:id="@+id/pagenum"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|bottom"
                android:layout_marginBottom="10dp"
                android:layout_marginRight="10dp"
                android:text="3/15"
                android:textColor="#FFF"
                android:textSize="14sp" />

        </FrameLayout>

        <FrameLayout
            android:id="@+id/header_text_layout"
            android:layout_width="match_parent"

            android:layout_height="@dimen/min_height_textheader_materiallike"
            android:layout_gravity="bottom"
            android:background="#FFF">

            <!--<TextView-->
            <!--android:id="@+id/text_header"-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="wrap_content"-->
            <!--android:layout_gravity="center_vertical"-->
            <!--android:layout_marginLeft="70dp"-->
            <!--android:text="ttttt"-->
            <!--android:textColor="@android:color/white"-->
            <!--android:textSize="18sp"-->

            <!--android:textStyle="bold" />-->
            <RelativeLayout
                android:id="@+id/button_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_centerHorizontal="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="83dp"
                    android:layout_marginRight="83dp">

                    <RelativeLayout
                        android:id="@+id/photo"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_weight="2.5">

                        <ImageView
                            android:layout_width="17dp"
                            android:layout_height="14dp"
                            android:layout_centerInParent="true"
                            android:background="@drawable/photo_blue_icon"

                            />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/video"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="2.5">

                        <ImageView
                            android:layout_width="14dp"
                            android:layout_height="16dp"
                            android:layout_centerInParent="true"
                            android:background="@drawable/video_blue_icon" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/share"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="2.5">

                        <ImageView
                            android:layout_width="15dp"
                            android:layout_height="20dp"
                            android:layout_centerInParent="true"
                            android:background="@drawable/share_blue_icon" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/fav"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="2.5">

                        <ImageView
                            android:layout_width="20dp"
                            android:layout_height="19dp"
                            android:layout_centerInParent="true"
                            android:background="@drawable/fav_blue_icon" />
                    </RelativeLayout>

                </LinearLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="2px"
                    android:layout_alignParentBottom="true"
                    android:background="#d7d7d7" />
            </RelativeLayout>
        </FrameLayout>

    </FrameLayout>

</FrameLayout>

和在java code,你应该把这个

and in the java code you should add this

  StikkyHeaderBuilder.ListViewBuilder.stickTo(mListView)
                .setHeader(R.id.header, (ViewGroup) contentView)
                .minHeightHeaderDim(R.dimen.min_height_textheader_materiallike)
                .animator(new ParallaxStikkyAnimator())
                .attatch_Acitivty(Attractions.this)
                .castTo("Attractions")
                .build();

和这里是使用

and here is the library used

但我已经修改了这个库工作,我想

but i have modified this library to work as i want

的修改是在stcikylistview建设者add方法知道所用的活动,并通过委托滚动我用这个,因为我增加了一个模糊的影像在viewpager

the modification is add method in stcikylistview builder to know the activity used and pass a delegate for scrolling i used this because i added a blur for images in the viewpager

和她是我的修改

我会上传库的修改版 在这里你 https://drive.google.com/file/d/ 0BxdN8PyW5nmHMmFFeFY2aW9zdlk /有何看法?USP =共享

i will upload the modified version of the library here you are https://drive.google.com/file/d/0BxdN8PyW5nmHMmFFeFY2aW9zdlk/view?usp=sharing

这篇关于折叠工具栏布局与viewpager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆