下面是我的自定义工具栏xml。我正努力在中心制作工具栏标题,但总是失败。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/white">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/rlLogout"
android:text="Long text title"
android:textColor="@color/title_color"
android:textAppearance="?android:attr/textAppearanceMedium"
android:fontFamily="sans-serif-light"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_alignParentLeft="true"
android:layout_margin="2dp"
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/rlLogout"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_margin="5dp"
android:background="@drawable/exit" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
它应该看起来像这个快照[XML视图]
但它看起来像我不想要的
如果我将它单行显示,则显示文本标题,如此文本...也无效。我知道这是导航图标的问题,但不知道如何解决它?如果xml中有任何错误,请纠正我。
不要使用getSupportActionBar()。setTitle(title);如果您有自定义工具栏布局,则设置标题。
相反,假设您的XML布局如下所示:
<!-- Toolbar -->
<android.support.v7.widget.Toolbar
android:id="@+id/main_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/main_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/main_toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
您需要在MainActivity的onCreate()中的某个地方调用:
((TextView)findViewById(R.id.main_toolbar_title))。setText(“Title!”);
尝试为Textview提供最小高度属性
android:minHeight="0dp"
嘿试试这个代码肯定会起作用
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:elevation="8dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/rlLogout"
android:text="Long text title"
android:textColor="#000000"
android:textAppearance="?android:attr/textAppearanceMedium"
android:fontFamily="sans-serif-light"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:layout_alignParentLeft="true"
android:layout_margin="2dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/logout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp"
android:scaleType="center"
android:src="@drawable/hamburger_menu" />
</android.support.v7.widget.Toolbar>