当前位置: 首页 > 知识库问答 >
问题:

Android设计支持库-CollapsingToolbarLayout EnteralWaysCollaped

丌官嘉良
2023-03-14

我试图实现一个与Cheesesquare演示应用程序中类似的CollapsingToolBarLayout。
但是,我需要在进入活动时默认折叠工具栏(这样在手机上的横向模式下就不会占用太多空间)。
根据文档,使用EnteralWaysCollapped标志似乎很容易实现。
但是,我没有获得所需的行为。相反,AppBarLayout一开始显示完全扩展,然后滚动出屏幕,只留下系统栏。

下面是我的布局(对芝士蛋糕的轻微修改):

<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"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
        android:fitsSystemWindows="true"
        android:minHeight="?attr/actionBarSize"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp">

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

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingTop="24dp">

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Info"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/cheese_ipsum" />

            </LinearLayout>

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

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/card_margin"
            android:layout_marginLeft="@dimen/card_margin"
            android:layout_marginRight="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Friends"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/cheese_ipsum" />

            </LinearLayout>

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

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/card_margin"
            android:layout_marginLeft="@dimen/card_margin"
            android:layout_marginRight="@dimen/card_margin">

            <LinearLayout
                style="@style/Widget.CardContent"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Related"
                    android:textAppearance="@style/TextAppearance.AppCompat.Title" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/cheese_ipsum" />

            </LinearLayout>

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

    </LinearLayout>

</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"
    app:layout_anchorGravity="bottom|right|end"
    android:src="@drawable/ic_discuss"
    android:layout_margin="@dimen/fab_margin"
    android:clickable="true"/>

共有1个答案

巫马昆杰
2023-03-14

实际上,EnteralWaysCollaph只针对此视图的幻影动画。这与我试图做的不同。
谷歌跟踪器上有一个问题,要求添加设置CollapsingToolBarLayout初始状态的可能性。

 类似资料:
  • 我想用com。Android支持:设计:22.2.0在我的Android Studio(1.3)项目中,但当我添加'com'时。Android支持:设计:22.2.0'到依赖{}我有103个错误,我无法摆脱这个错误。 如果我尝试使用新版本的appcompat,也会发生同样的情况。现在我有了“com”。Android支持:appcompat-v7:19。“以我的身材。格雷德尔。 有人知道吗? 我的错

  • 问题内容: 我是Android的新手。 我正在为Android应用程序(位于现有的多模块项目中)设置一个maven模块,该模块使用Google支持库(v4,v7,v13)。使它与Maven一起使用的最合适的方法是什么。 我希望我的项目能够使用Jenkins(Maven)进行构建,因此我无法链接任何特定于IDE的项目或任何非Maven依赖项的方式。 在Jenkins中组合maven / gradle

  • 当我使用设计支持库时,我的应用程序崩溃了。Logcat显示如下:

  • 我正在MotoG(Lollipop5.1)上测试我的项目,还有一个XperiaT2(KitKat 4.4)上没有的问题。错误日志为: 我正在使用android。支持:设计库,但不实例化NavigationView,我尝试使用 和 并且没有解决。也许问题与之前的支持问题有关:appcompat库,当我尝试使用23.1.1较低版本时发生此错误 我的实际Gradle配置是: 请帮忙。 更新 当我尝试使用

  • 我是Android编程新手。当我尝试将材料设计库添加到build.gradle它在实现'com.android.support: appcompat-v7:28.0.0'下显示错误。 错误消息是: 使用groupId和androidx*无法组合,但可以找到和不兼容的依赖项较少。。。(Ctrl-F1) 检查信息:有些库、工具和库的组合不兼容,或可能导致错误。其中一个不兼容之处是编译时使用的Andro

  • 有什么方法可以让Android设计支持库的折叠动画在滚动时更流畅?当我释放滚动时,它突然停止。但我想要的是:即使停止滚动,塌陷动画也会顺利继续。Android-ObservableScrollView和Scrollable是正在平滑崩溃的库。