为什么工具栏textview不占用右/左空间而不是使其成为多行标题?

问题描述 投票:0回答:3

下面是我的自定义工具栏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视图]

enter image description here

但它看起来像我不想要的

enter image description here

如果我将它单行显示,则显示文本标题,如此文本...也无效。我知道这是导航图标的问题,但不知道如何解决它?如果xml中有任何错误,请纠正我。

android xml android-layout android-toolbar
3个回答
1
投票

不要使用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!”);


0
投票

尝试为Textview提供最小高度属性

android:minHeight="0dp"

0
投票

嘿试试这个代码肯定会起作用

  <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>

it looks like this

© www.soinside.com 2019 - 2024. All rights reserved.