如何在工具栏中放置两个文本视图?

时间:2015-09-23 08:58:41

标签: android textview android-toolbar

我想在工具栏中显示两个文本视图小部件。其中一个文本视图作为标题,另一个作为子标题,应放在工具栏小部件的最右侧。

这是我用来显示两个文本视图的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/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/tool_bar_color"
    app:layout_scrollFlags="scroll|enterAlways"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="start|center"
        android:textSize="20sp"
        android:textColor="@color/white"
        android:layout_gravity="center"
        android:textStyle="bold"
        android:text="Hello"
        android:singleLine="true"
        android:id="@+id/toolbar_title" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="end|center"
        android:textSize="15sp"
        android:textColor="@color/white"
        android:layout_gravity="center"
        android:textStyle="bold"
        android:text="India Hello"
        android:singleLine="true"
        android:id="@+id/toolbar_right_subtitle" />
</android.support.v7.widget.Toolbar>

在工具栏中放置两个文本视图小部件后,我没有得到所需的输出。如何实现显示两个文本视图小部件的所需输出,一个在左边,另一个在右边?

3 个答案:

答案 0 :(得分:4)

您可以使用以下LinearLayout。并为layout_width:"match_parent"更改layout_width="wrap_content"TextView

<?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/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/tool_bar_color"
    app:layout_scrollFlags="scroll|enterAlways"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:gravity="start|center"
            android:singleLine="true"
            android:text="Hello"
            android:textColor="@color/white"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/toolbar_right_subtitle"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:gravity="end|center"
            android:singleLine="true"
            android:text="India Hello"
            android:textColor="@color/white"
            android:textSize="15sp"
            android:textStyle="bold" />
    </LinearLayout>
</android.support.v7.widget.Toolbar>

答案 1 :(得分:0)

请检查TextViews的宽度和高度,尝试设置wrap_content。

答案 2 :(得分:0)

这是我最终使用的代码,改编自the example given by Gunaseelan

<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/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/tool_bar_color"
    app:layout_scrollFlags="scroll|enterAlways"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title">

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="start|center"
        android:textSize="20sp"
        android:textColor="@color/white"
        android:layout_gravity="center"
        android:textStyle="bold"
        android:layout_weight="1"
        android:singleLine="true"
        android:id="@+id/toolbar_title" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="end|center"
        android:textSize="12sp"
        android:layout_weight="1"
        android:textColor="@color/white"
        android:layout_gravity="center"
        android:visibility="gone"
        android:layout_marginRight="10dp"
        android:singleLine="true"
        android:id="@+id/toolbar_right_subtitle" />

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