【问题标题】:setting minHeight in CollapsingToolbarLayout not having any effect在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果
【发布时间】:2016-09-30 02:46:54
【问题描述】:

我目前使用 CollapsingToolbarLayout 遇到的主要问题是,无论我尝试什么,我的 Toolbar 的 minHeight 属性都没有任何效果。

我想要的结果是这样的: (具有一定展开高度和一定折叠高度(示例中为 180dp)的 CollapsingToolbarLayout,而标题要么折叠,要么停留在顶部)

但无论我做什么,标题有时都在中心,不会完全折叠或 minHeight 无论如何都会被忽略。我尝试为 AppBarLayout、CollapsingToolbarLayout、工具栏本身、任何内容等设置 minHeight,也使用了在网络上找到的不同方法,但没有成功。

这是基本的xml:

<android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:minHeight="180dp">

        <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="@android:color/transparent"
            app:expandedTitleGravity="bottom"
            app:expandedTitleTextAppearance="@style/TextAppearence.App.ToolbarTitle"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:statusBarScrim="@android:color/transparent">

            <com.xxxxxx.custom.Banner
                android:id="@+id/parallax_image"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:adjustViewBounds="true"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                android:src="@drawable/xxxxxxxx"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.6"
                app:layout_scrollFlags="scroll" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:minHeight="180dp"
                app:layout_collapseMode="pin" />

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

我希望这足以解释我的问题。 任何帮助表示赞赏,谢谢!

【问题讨论】:

    标签: android xml android-layout material-design android-toolbar


    【解决方案1】:

    您可以将高度设置为180dp而不是使用minHeight,然后在工具栏中添加一个TextView作为标题。

    【讨论】:

    • 通过添加自定义 TextView 作为标题进行了一些调整。无论如何,我无法让它与扩展或折叠工具栏一起使用......
    • 180dp 是从哪里来的?
    【解决方案2】:

    这个很简单。只需将Toolbar 的下边距设置为您希望在折叠版本中保留的任何空间。

    这背后的原因很简单。 CollapsingToolbarLayout 继承自 FrameLayout,后者将图像堆叠在一起。在考虑折叠边界时,唯一需要考虑的是工具栏高度及其上/下边距。

    【讨论】:

    • 工作就像一个魅力,非常感谢您花费额外的时间来解释答案!
    【解决方案3】:

    只需将 Toolbar collapseMode 设置为“pin”模式,并根据您的要求大小设置高度

     <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        app:layout_collapseMode="pin"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
    

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      相关资源
      最近更新 更多