标签: android-collapsingtoolbarlayout

使用Android设计支持库平滑动画折叠工具栏

无论如何,在滚动时,Android设计支持库的折叠动画是否更平滑?当我释放滚动时,它会突然停止.但我想要的是:即使你停止滚动,折叠动画仍将顺利进行. Android-ObservableScrollViewScrollable是顺利折叠的库.

android android-layout material-design android-design-library android-collapsingtoolbarlayout

41
推荐指数
2
解决办法
1万
查看次数

Android Material Design - 折叠CollapsingToolbarLayout后如何更改工具栏的背景颜色

用户向下滚动屏幕后,CollapsingToolbarLayout中的图像将消失,并留下带有后退按钮,内容标题和设置菜单的工具栏.我想知道如何更改该工具栏处于"折叠"状态时的背景颜色.

我所指的动作类似于工具栏背景颜色变为绿色的动作:

在此输入图像描述

下面CollapsingToolbarLayout我有一个NestedScrollViewCardViews

android material-design android-collapsingtoolbarlayout

40
推荐指数
3
解决办法
4万
查看次数

将应用栏滚动视图行为添加到CoordinatorLayout中的多个视图

我希望将滚动支持添加到一个单独的,可滚动的,子视图CoordinatorLayout与an AppBarLayoutCollapsingToolbarLayout.滚动RecyclerViewAppBarLayout(下面的压缩代码)时,应用栏及其内容成功滚动和折叠.但是,当尝试在LinearLayout上面启动滚动事件时RecyclerView,没有任何反应,因为LinearLayout不知道滚动或折叠视图.

我们的目标是将该LinearLayout行为作为一个粘性页眉,并且RecyclerView与该页脚AppBarLayout接收相同的滚动行为RecyclerView,类似于Spotify的随机播放/可用离线标题.事实上,如果appbar_scrolling_view_behavior layout_behavior可以应用于LinearLayout类似的,那将是很好的RecyclerView,但我想在不可滚动的视图上忽略了该行为.是否有人知道这种解决方法,不需要将LinearLayout视图作为一行实现RecyclerView

<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">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="@dimen/collapsible_app_bar_height"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/gradient_banner"
            app:contentScrim="@color/background_content_frame"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/image_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/some_image"
                app:layout_collapseMode="parallax"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/collapsible_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:layout_collapseMode="pin"/>

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

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/slide_handle_height"
        android:orientation="horizontal"
        android:background="@color/slide_handle"
        android:gravity="center_vertical">

        <!-- three buttons …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport android-coordinatorlayout android-collapsingtoolbarlayout android-appbarlayout

39
推荐指数
4
解决办法
7万
查看次数

折叠工具栏布局,工具栏中包含徽标,标题,副标题

第一张图片 第二张图片 第三张图片

我希望这样做,但使用折叠工具栏布局或滚动后在工具栏中显示徽标和标题.

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

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

        <ImageView
            android:id="@+id/background_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/background_1"
            app:layout_collapseMode="parallax"
            android:fitsSystemWindows="true"/>

        <RelativeLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true">

            <ImageView
                android:id="@+id/avatar_image"
                android:layout_width="@dimen/circular_image_avatar"
                android:layout_height="@dimen/circular_image_avatar"
                android:gravity="center"
                android:scaleType="centerCrop"
                android:src="@drawable/ic_placerholder"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true"
                android:transitionName="image_toolbar"/>

            <TextView
                android:id="@+id/profile_title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Name title"
                android:textAlignment="center"
                android:layout_marginTop="@dimen/item_padding_top_bottom"
                android:gravity="center"
                style="@style/titleText_toolbar"
                android:layout_below="@+id/avatar_image"
                android:transitionName="title_toolbar"/>
            <TextView
                android:id="@+id/profile_subtitle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Subtitle"
                android:textAlignment="center"
                android:gravity="center"
                style="@style/captionText_toolbar"
                android:layout_below="@+id/profile_title" />

        </RelativeLayout>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_height="?attr/actionBarSize"
            android:layout_width="match_parent"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:layout_collapseMode="pin">

            <!-- avatar image and title, subtitle -->

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.CollapsingToolbarLayout> …
Run Code Online (Sandbox Code Playgroud)

android toolbar android-layout material-design android-collapsingtoolbarlayout

38
推荐指数
1
解决办法
4万
查看次数

38
推荐指数
3
解决办法
3万
查看次数

尝试使用单击事件从视图滚动时,Scroll在NestedScrollView中不起作用

我在布局中使用NestedScrollView,并尝试使用CollapsingToolbarLayout的设计支持库中的新CoordinatorLayout.

我的布局文件如下所示:

<?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"
    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="200dp"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"

            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">
            <!--            app:expandedTitleMarginEnd="64dp"-->
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:scaleType="centerCrop"
                android:src="@drawable/image_load_default_big" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/anim_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
            </android.support.v7.widget.Toolbar>

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

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

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/nestedScrollVw"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|enterAlways"
        android:fitsSystemWindows="true"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clickable="false"
            android:fitsSystemWindows="true">

            <LinearLayout
                android:id="@+id/changePasswordButtonContainer"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <Button
                    android:id="@+id/changePasswordExpand"
                    android:layout_width="match_parent"
                    android:layout_height="55dp"
                    android:background="@drawable/back_img"
                    android:text="Change Your Password"
                    android:textColor="@color/white"
                    android:textStyle="bold" />
            </LinearLayout>


            <LinearLayout
                android:id="@+id/changePasswordContainer"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/changePasswordButtonContainer"
                android:layout_centerInParent="true"
                android:orientation="vertical"
                android:padding="10dp">


                <TextView
                    android:layout_width="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

android android-collapsingtoolbarlayout

33
推荐指数
1
解决办法
1万
查看次数

将windowTranslucentStatus与CollapsingToolbarLayout一起使用

我试图获得与谷歌播放中看到的相似的效果.

我有以下布局,以显示一个透明的工具栏,后面有一个图像.当用户滚动时,在图像视图滚动离开屏幕时会出现视差效果.当用户向上滚动时,工具栏会返回,只有当用户到达列表的lop时,imageview才会返回.

一切都很好.

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/main"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:background="@color/background_material_dark">
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsingToolbarLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minHeight="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
            app:statusBarScrim="#09b"
            app:contentScrim="#09f">
            <ImageView
                android:id="@+id/img"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:src="@drawable/location_banner"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7"
                />
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_height="?attr/actionBarSize"
                android:layout_width="match_parent"
                app:layout_collapseMode="pin"
                android:fitsSystemWindows="true"
                app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

问题

当我将windowTranslucentStatus设置为true时.视图中的内容向上移动到状态栏下方,但CollapsingToolbarLayout的内容向上移动状态栏高度的两倍(CollapsingToolbarLayout保持正确的高度).

这意味着图像顶部的某些部分被切断,操作栏现在显示在状态栏下方而不是在其下方.作为一个副作用,现在在CollapsingToolbarLayout底部的填充与状态栏的高度相同

这是没有windowTranslucentStatus的样子.这里的一切都很好 在此输入图像描述

windowTranslucentStatus设置为true 在此输入图像描述

用户从列表中的较低位置向上滚动(不在顶部) 在此输入图像描述

android statusbar android-actionbar android-coordinatorlayout android-collapsingtoolbarlayout

32
推荐指数
3
解决办法
3万
查看次数

没有为app找到资源ID:来自CollapsingToolbarLayout的layout_scrollflags

这个问题的标题基本上都说明了一切.我收到错误:找不到app:layout_scrollflags来自CollapsingToolbarLayout的资源标识符.我使用eclipse并导入了设计库jar文件.我能够在我的类中使用设计支持布局,这是正确的

这是我使用的一段代码:

<LinearLayout 
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"
android:orientation="vertical"
android:background="@color/activityBg"
tools:context=".MainActivity"
>

<android.support.design.widget.AppBarLayout
    android:layout_height="wrap_content"
    android:layout_width="match_parent">

    <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <include
            layout="@layout/toolbar"/>

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

示例:http://android-developers.blogspot.in/2015/05/android-design-support-library.html

android androiddesignsupport android-collapsingtoolbarlayout

32
推荐指数
3
解决办法
3万
查看次数

从字体资源id创建字体

我试过用 Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));

我知道字体目录应该是资产,但在我的情况下,我有一个现有的字体资源目录,所以我认为资产管理器将从字体资源目录读取,但我错了.我正在创建Typeface来为collapsingToolbarLayout设置自定义字体.

我找到了这个答案,但它要求我将字体保留在资产中

fonts android android-typeface android-collapsingtoolbarlayout

31
推荐指数
2
解决办法
1万
查看次数

CollapsingToolbarLayout标题作为共享元素转换

TextView在我的活动中有A.我如何TextView从活动A和CollapsingToolbarLayout.setTitle()活动B 的标题进行共享元素转换?

有没有办法idCollapsingToolbarLayout源代码中获取标题视图?

感谢帮助!

android android-transitions android-toolbar shared-element-transition android-collapsingtoolbarlayout

29
推荐指数
1
解决办法
3039
查看次数