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

未正确显示展开的CollapsingToolbarLayout中

孙弘博
2023-03-14

因此,我在项目中的CollapsingToolbarLayout遇到了一个wierd问题。活动开始后,工具栏标题的显示方式如下:

折叠后的布局是这样的:

例题原文为:“UPC VONALKODOS Termek”

<?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:fitsSystemWindows="true"
    app:theme="@style/PolarThemeNoActionBar">
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_below="@+id/tablayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        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="142dp"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginBottom="20dp"
            app:expandedTitleTextAppearance="@style/ExpandedText">
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                android:minHeight="?attr/actionBarSize"
                app:layout_collapseMode="pin"/>
            </android.support.design.widget.CollapsingToolbarLayout>
        <android.support.design.widget.TabLayout
            android:id="@+id/tablayout"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_below="@+id/toolbar"
            android:minHeight="?attr/actionBarSize"
            android:gravity="bottom"
            android:background="?attr/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:tabIndicatorColor="?attr/colorPrimaryDark"/>
        </android.support.design.widget.AppBarLayout>
    </android.support.design.widget.CoordinatorLayout>
<style name="ExpandedText" parent="android:TextAppearance">
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">20sp</item>
    </style>

共有1个答案

金飞翼
2023-03-14

CollapsingToolbarLayout使用帮助器类-CollapsingTextHelper-绘制和动画其标题。在撰写本文时,此类的最新版本将展开标题的可用宽度限制为基于折叠状态下可用宽度的大小,并根据状态下文本大小的比例进行缩放。

相关消息人士评论:

// If the scaled down size is larger than the actual collapsed width, we need to
// cap the available width so that when the expanded text scales down, it matches
// the collapsed width

这显然是为了解决标题与其他工具栏内容重叠的一些边缘情况而引入的,正如有关提交的说明中所解释的那样。

通常情况下,我只关注view类,通过反射和其他技巧来修改它们的行为,但在本例中,给定的设置将会非常繁重。helper类通常不能在库包之外访问,它的实例在CollapsingToolbarLayout中是私有的,大小调整计算是在一个私有的辅助方法中执行的,其中大部分是局部变量。

如果可能的话,最简单的html" target="_blank">解决方案是恢复到此修复之前发布的库版本。不幸的是,我还没有确定带来这一变化的确切版本,支持库的修订历史似乎也没有提到这一点。然而,该提交是在去年(2016)年中进行的,所以可能在24.0.0版本左右,或者稍晚一点。我可以验证23.4.0中不存在该行为。

如果您愿意,您当然可以为此提交一份bug报告,但不能保证他们会认为这是一个bug。我没有发现任何以前关于这一点的问题,除了这个切线相关的抱怨椭圆化是这一变化的副作用。

 类似资料:
  • 通过单击Experiment Parameters选项卡中的一个按钮(参见下面的屏幕截图),我创建并运行一个“PreviewAction”,它创建了一个新的选项卡,并用必要的组件填充它。下面是的代码。编辑:我还发布了一个自包含的最小版本,它模拟了真实项目中的条件,并展示了相同的行为。 这里至少存在两个问题: (或)根本不呈现 没有框架本身那么宽,我不知道为什么 我在挥杆方面不是很好,所以我可能错过

  • 问题内容: 我已经开发了一个小应用程序来跟踪我的日常工作活动,该工具包含两个类: 执行者 UIProgress 我的目标是创建一个ProgressBar来更新执行状态,使用的逻辑如下所示, 根据Executor类中定义的executeTask(),我创建了UIProgress对象。 UIProgress类扩展了JFrame。创建一个面板,其中包含带有一个图像的标签和进度条。我已经在此类中定义了一个

  • 我开发了一个小应用程序来跟踪我的日常工作活动,该工具包含两个类: 遗嘱执行人 我的目标是创建一个更新执行状态的ProgressBar,下面给出了使用的逻辑, 从Exector类中定义的执行任务()中,我创建了UIProgress对象。 UIProgress类扩展了JFrame。创建一个包含带有一个图像和进度条的标签的面板。我在这个类中定义了一个方法updateProgress,它设置了进度条的值。

  • 我面临一些关于woocommerce可变产品的问题。每种产品我都有许多不同的变体(每种产品大约4-5个)。尽管我已经在变体设置中设置了它们,但在前端,当用户选择它时,它仍然会显示此消息:“对不起,没有与您选择的产品匹配的产品。请选择其他组合。” 是否是由于大量的组合导致变化相互冲突?或者是由于库存/重量限制设置,有人在他们的项目中经历过这种情况吗?

  • 我的拓扑的配置是: 我的第一个TransformBolt螺栓是: