使用CollapsingToolbarLayout时,向工具栏添加视图会删除以编程方式设置的标题

时间:2016-02-03 19:27:50

标签: java android xml toolbar android-collapsingtoolbarlayout

当我向工具栏添加视图时,我使用setTitle()添加的以编程方式添加的标题消失了。

<android.support.design.widget.CollapsingToolbarLayout
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7"
                app:statusBarScrim="@color/colorAccent"
                app:layout_scrollFlags="scroll"
                android:fitsSystemWindows="true"
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:expandedTitleMarginTop="32dp"
                app:expandedTitleMarginBottom="32dp"
                app:expandedTitleMarginEnd="64dp"
                app:expandedTitleMarginStart="48dp"


                >


                <android.support.v7.widget.Toolbar
                    android:minHeight="0dp"
                    android:fitsSystemWindows="true"
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

                    >

 <!--IF I DELETE THE VIEWS IN THE TOOLBAR THE PROGRAMATICALLY SET TITLE COMES BACK-->

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">


                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="#fff3f3f3"
                         android:textAppearance="@style/TextAppearance.AppCompat.Title"
                        android:gravity="center"
                        android:textSize="20sp"
                        android:text="Profile"
                        />

                    </LinearLayout>
                </android.support.v7.widget.Toolbar>

我见过其他人有同样的问题,但我找不到解决办法。

如果有人可以帮助我或向我展示一些我可以用来解决问题的材料,我将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

Toolbar内部有一个TextView,因此,如果您致电setTitle,则会将文字设置为TextView

如果您想拥有自定义TextView,只需给它一个ID,找到它,然后为其设置文字。

...
<TextView android:id="@+id/toolbar_title"/>
...

然后,

Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar);
TextView title = (TextView) toolbarTop.findViewById(R.id.toolbar_title);
title.setText("Title");