Android 折叠工具栏布局不显示标题

Android 折叠工具栏布局不显示标题,android,android-collapsingtoolbarlayout,Android,Android Collapsingtoolbarlayout,在我的例子中,当我滚动列表时,工具栏消失了。我使用的是折叠工具栏布局,需要设置标题文本。但是在我的例子中,标题文本没有显示,即使我已经设置了它(参见下面的代码)。怎么了 布局代码: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="h

在我的例子中,当我滚动列表时,工具栏消失了。我使用的是折叠工具栏布局,需要设置标题文本。但是在我的例子中,标题文本没有显示,即使我已经设置了它(参见下面的代码)。怎么了

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinator"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="0dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll|enterAlways">


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                android:elevation="0dp"
                android:minHeight="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/AppTheme.PopupOverlay">

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

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

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/app_nav_header_main"
    app:menu="@menu/main_drawer" />

</android.support.v4.widget.DrawerLayout>
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.app_activity_with_left_panel);

    mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    mToolbar = (Toolbar) findViewById(R.id.toolbar);
    mCollapsingToolbarLayout = (CollapsingToolbarLayout)findViewById(R.id.collapsing);
    setSupportActionBar(mToolbar);
    setTitle(getIntent().getStringExtra(TITLE));
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
}

@Override
public void setTitle(CharSequence title) {
    if (title != null && !title.toString().isEmpty()) {
        mTitle = title.toString();
        mCollapsingToolbarLayout.setTitle(mTitle);
    }
}
使用以下命令:

app:expandedtitletextearance=“@android:color/transparent”
使用您的
折叠工具栏布局

删除此选项

@Override
public void setTitle(CharSequence title) {
    if (title != null && !title.toString().isEmpty()) {
        mTitle = title.toString();
        mCollapsingToolbarLayout.setTitle(mTitle);
    }
}
并将其添加到您的
OnCreate()


这将禁用具有折叠行为的默认标题,并将静态标题添加到工具栏。

对于搜索禁用标题的用户,只需添加即可

app:titleEnabled="false"
然后工具栏本身的标题就会出现,因此我们将使用

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
或者使用样式xml中的这些行

<item name="android:displayOptions">showHome|useLogo</item>
<item name="displayOptions">showHome|useLogo</item>
showHome |使用徽标
showHome | useLogo

搜索太多,无法生成此搜索摘要,希望能有所帮助。

以上答案是正确的,但我花了多次尝试才正确。最后,我在xml中为我的折叠工具栏布局设置了
app:titleEnabled=“false”
,而没有为工具栏本身设置任何内容

在代码中,我设置了
supportActionBar.setDisplayShowTitleEnabled(true)
,以及
supportActionBar.title=“我的标题”


我的代码:

layout.xml:


fragment.kt:

val-toolbar=view.findviewbyd(R.id.toolbar)
myTitle=“这是我的应用程序标题”
(活动作为AppCompatActivity)。让{myActivity->
myActivity.setSupportActionBar(工具栏)
myActivity.supportActionBar?.setDisplayShowTitleEnabled(真)
myActivity.supportActionBar?.title=myTitle
//这些是不需要的:
//collasingToolbar.title=myTitle
//collasingToolbar.isTitleEnabled=true
//toolbar.title=myTitle
//myActivity.title=myTitle
}

在我的例子中,问题是由于将工具栏布局高度设置为“包裹内容”。将此属性设置为特定值(如
?attr/actionBarSize
)后,折叠工具栏布局标题将可见。

删除该
@override
标记,然后重试。@vrund purohit不起作用。请尝试以下操作:ActionBar ab=getActionBar();ab.setTitle(“我的头衔”)@GPPSoft Do
getSupportActionBar().setTitle(“Title”)。删除该覆盖method@GPPSoft看看我的答案。@Ironman Thx。现在它起作用了。但不设置eny标题文本。显示默认应用程序名称:(mCollapsingToolbarLayout.setTitle(“title”);不更改标题。@Ironman仍显示默认的应用程序名称标题。我尝试更改标题<,但未更改。@Ironman抱歉,这是可行的。应用程序启动时它不会更改标题(显示默认的应用程序名称)。但如果您在单击按钮时更改它,它会工作。这是为什么?@GPPSoft您的问题解决了吗?应用程序将在启动时显示defualt应用程序的名称从清单中获取应用程序名称,即在string/app_name中定义的应用程序名称,并且您正在使用共享首选项设置标题,因此首先您必须进行一些单击操作,以便共享首选项获得一些你解决了我的问题。谢谢。尤其是“setDisplayShowTitleEnabled(false)”
<item name="android:displayOptions">showHome|useLogo</item>
<item name="displayOptions">showHome|useLogo</item>