Android:CollapsingToolbarLayout 居中展开的文本,但不居中折叠的文本

2023-12-20

我有一个CollapsingToolbarLayout定义为在折叠和展开模式下均居中:

<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rootLayout"
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="286dp">

<android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsingToolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:collapsedTitleGravity="center"
        app:expandedTitleGravity="center"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

                <ImageView
                android:id="@+id/backgroundImage"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:contentDescription="@null"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"/>

            <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"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"/>

            <ImageView
                android:id="@+id/someIcon"
                android:layout_width="56dp"
                android:layout_height="wrap_content"
                android:src="@drawable/some_icon"
                android:padding="16dp"
                android:layout_gravity="top|end"
                app:layout_collapseMode="pin"/>
 </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

我为工具栏定义了一个标题,但是当我折叠它时,我可以看到标题沿对角线方向移动而不是垂直向上,并且它稍微与工具栏线中心的右侧对齐。请注意,宽度是 match_parent 并且折叠的重力是中心,那么为什么会发生这种情况以及我应该如何解决它?

第一张截图:如果我使用折叠 -> 中心和扩展 -> 中心重力,然后折叠布局,它会是什么样子。请注意,它位于屏幕中心的右侧。

第二张截图:如果我摆脱折叠 -> 中心重力,但保留展开 -> 中心重力,然后折叠布局,它会是什么样子。请注意,默认情况下它是左对齐的。

第三张截图: 扩展后的样子

到目前为止我尝试过的事情解决这个问题(没有成功):

• 摆脱塌缩的重力,只留下膨胀的重力

• 使用默认的roboto 字体作为标题

• 将工具栏和折叠布局的内边距和边距设置为 0

• 设置重心中心_水平而不是中心

Edit:

我发现使其正常工作的唯一解决方法是使用单独的文本视图来保存标题,而不是设置 collapsingtoolbarlayout 的标题(这使得标题正确折叠到中心)。这不是最佳的,所以我很想知道 CPL 是否有错误,或者是否有办法使用默认标题来做同样的事情。


你需要设置app:contentInsetStart and app:contentInsetLeft属性到0dp.

  <android.support.v7.widget.Toolbar
        ..
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:CollapsingToolbarLayout 居中展开的文本,但不居中折叠的文本 的相关文章

随机推荐

  • 在 Clojure 中捕获系统/输出

    我正在使用一个将文本输出到控制台的 Java 包 我需要捕获字符串中的文本 但我不知道如何执行此操作 从查看 Clojure 文档看来 我所要做的就是将 java 调用包装在with out str但这对我不起作用 最小代码示例 如果我尝试
  • 写入没有段寄存器的地址

    我知道这段代码实际上会将数据写入 ds 100h mov 100h ax 但我怎样才能写入线性地址100H直接不使用任何段寄存器作为段基址 没有办法绕过段寄存器 每个内存访问都与某个段寄存器相关 如果要写入绝对地址 请首先向段寄存器加载适当
  • 多个 apache 根进程

    今天我注意到 当从我们的网络服务器发出请求时 速度相当慢 我开始研究它 发现了大量 root 拥有的 apache 进程 我不确定这实际上是导致事情变慢的原因 但无论如何 它看起来并不好 问题是 我不知道从这里做什么 如何找出为什么有这么多
  • WinRT 能够运行 Win 7 和 8 桌面应用程序吗?

    我读到了很多关于它的不同意见 但 WinRT 是像 Win 7 和 8 一样的实际桌面操作系统吗 您能够运行功能齐全的桌面应用程序和游戏吗 WinRT 不是桌面或操作系统 而是一个 API 就像传统的winapi一样 它与 winapi 有
  • 记录编译源代码的时间

    我有一个源文件 当我编译代码时 我希望可执行文件能够记住它的构建时间 我想知道是否可能 例如 int main time t t Time when this line is compiled print out value of t in
  • 使用 Jar 转换类,合并调试重复条目

    这是重复类的屏幕截图 https i stack imgur com ET0hk png当我开始集成 Digits 时 每次在 Marshmallow 之前的设备上构建应用程序时 我都必须在升级后升级 Crashlytics 我遇到了构建错
  • 尽管有可用内存,但出现 OutOfMemory 错误

    我看到一个很奇怪的问题 本质上 有时即使有大量内存 大位图内存分配也会失败 有很多帖子似乎都在问类似的问题 但它们都与前蜂窝 Android 有关 我的理解是图像现在分配在堆上 而不是一些外部内存 无论如何 请查看下面的日志 10 14 1
  • 如何调用Python类描述符对象上的方法?

    我创建了一个class String with get set 和一个方法to db 然而 当我这样做时name String 我做不到self name to db 因为它在召唤to db 关于返回的值 get 而不是对象 name cl
  • 一个标签中的不同字体

    有谁知道如何创建具有两种不同字体或至少两种不同字体大小的标签 Windows 窗体 我认为你应该覆盖默认标签onPaint方法并使用 Graphics 手动绘制多个文本 字体 看看这个example http ondotnet com pu
  • C#:引用 Windows shell 接口

    我对 C 还很陌生 我正在尝试完成一个我一直在从事的小项目 该项目使用少量 C 代码来协助开发 Windows 桌面小工具 基本上 我正在尝试实施IDesktopGadget接口 以便我可以使用运行小工具 http msdn microso
  • 将嵌套 json 映射到 ember-data 模型

    我没有使用 RESTAdapter 所以我创建 Ember 对象并使用reopenClass 方法和 jquery ajax 函数进行 ajax 请求 代码是 OlapApp Dimenssions Ember Object extend
  • 如何从提示框中获取数值? [复制]

    这个问题在这里已经有答案了 我试图用 HTML jQuery 和 JavaScript 进行一些简单的数学计算 所以我想从用户那里获取输入 对于输入 我尝试这样做 var x prompt Enter a Value 0 var y pro
  • ffmpeg 可以将音频转换为原始 PCM 吗?如果是这样,怎么办? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前正在使用ffmpeg转换FLV Speex to WAV pcm s16le 成功地 但是 我现在需要输出格式为 RAW 即 PCM
  • 是否可以在具有自定义域的 GitHub Pages 网站上使用 HTTPS/SSL?

    有没有办法在使用自定义域的 GitHub Pages 网站上使用 HTTPS SSL 建议使用 SSL 以获得更好的搜索引擎排名 除此之外它还有很多其他用途 GitHub 页面上的自定义域do支持HTTPS SSL GitHub Pages
  • 在 Eclipse 中使用 Android 连接到 MongoDB

    我目前正在开发一个 Android 应用程序 它将使用来自MongoLab 我团队的另一名成员已经创建了一个工作数据库mongolab com 我只是在通过 Eclipse 连接到它时遇到问题 我已经浏览了谷歌和无数的教程 但我真的不太了解
  • 在 Windows 10 Bash 上安装 webpack(Windows 上的 Ubuntu 上的 Bash)。不断收到“webpack:找不到命令”

    我正在努力解决这个问题React Redux 教程 http teropa info blog 2015 09 10 full stack redux tutorial html client project setup我需要安装 webp
  • 测量5G(新无线电)数据

    List
  • label.setText NullPointerException

    你好 第一次来这里 但这里是 我有一个 JavaFX 应用程序 可以动态更改 FXML UI 标签 并且数据是从 Player 类中提取的 有问题的两个类是Player java and InterfaceHandler java 玩家类存
  • 如何为 checkstyle 定义抑制定义,适用于 ant 和 eclipse

    我在项目中使用 checkstyle 并且定义了一个抑制滤波器 http checkstyle sourceforge net config html Filters在我的 checkstyle 配置中 我使用 Apache ant 通过持
  • Android:CollapsingToolbarLayout 居中展开的文本,但不居中折叠的文本

    我有一个CollapsingToolbarLayout定义为在折叠和展开模式下均居中