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 DogetSupportActionBar().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>