CollapsingToolbarLayout setTitle()不再工作

nat*_*rio 12 android android-support-library android-design-library

setTitle()方法CollapsingToolbarLayout已经有一些错误(如只在滚动后显示,固定v22.2.1).

今天我更新了v23.0.0,它根本就没有用,就像没有显示标题一样.通过延迟多次调用它,我可以看到有时标题就在那里,但它确实不可靠(比如,你切换到另一个片段,然后回到第一个,并且不再有标题).

我发现有一个新属性,app:titleEnabled或者CollapsingToolbarLayout.setTitleEnabled(boolean).我已将两者都设置为true,但实际上并没有改变任何东西.

你们中的任何一个人都有同样的行为吗?

我想知道市场上有多少应用程序正在使用这个设计库,它已经从第一个版本充满了错误并且没有变得更好.

编辑

通过进一步的测试,似乎(我不是100%肯定)它连接到新的AppBarLayout.setExpanded()api.

如果我打电话:

collapsingToolbar.setTitle("title");
Run Code Online (Sandbox Code Playgroud)

它有效,但如果我打电话

collapsingToolbar.setTitle("title");
appbarLayout.setExpanded(true, true);
//OR
appbarLayout.setExpanded(true, true);
collapsingToolbar.setTitle("title");
Run Code Online (Sandbox Code Playgroud)

它没有 - 没有标题显示.同样setExpanded(false, true),即试图折叠工具栏.

Edit2(2015年9月)

好吧,不.即使我从不打电话abl.setExpanded()或问题,这个问题仍然存在app:expanded.此外,我们现在在v23.0.1上,但仍未解决.看起来我们中只有少数人正在体验它,因为我在这里找不到任何东西,也没有在官方的bug列表中找到.我在这里提交了一个错误.

hfa*_*ann 5

标题不显示,因为AppBarLayout的布局高度太小.我的高度为110dp,这在v22.2.1中有效.升级到v23.0.0后,我必须将高度更改为至少125dp才能显示标题.无需使用新属性或方法调用.这是我的布局:

<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_height="125dp"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:expandedTitleTextAppearance="@style/ExpandedAppBarTitle"
        app:expandedTitleMarginStart="14dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <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"/>
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<android.support.v7.widget.RecyclerView android:id="@android:id/list"
                                        xmlns:android="http://schemas.android.com/apk/res/android"
                                        android:layout_width="match_parent"
                                        android:layout_height="match_parent"
                                        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/addbtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    app:borderWidth="0dp"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/ic_add" />
Run Code Online (Sandbox Code Playgroud)


小智 3

我在我的应用程序中尝试了一些组合:

collapsingToolbar.setTitle("title");
appbarLayout.setExpanded(true, true); // works

collapsingToolbar.setTitle("title");
appbarLayout.setExpanded(true, false); // works

collapsingToolbar.setTitle("title");
appbarLayout.setExpanded(false, true); // works

collapsingToolbar.setTitle("title");
appbarLayout.setExpanded(false, false); // doesn't show title
Run Code Online (Sandbox Code Playgroud)

我在片段的 onCreateView() 中调用了这些方法。AppBarLayout 默认情况下是展开的,可以通过布局中的 XML 进行更改,尽管当我将其定义为不在 XML 中展开时,它也不会显示标题。奇怪的东西......无论如何,如果您知道我可以如何进一步提供帮助,请告诉我。