简体   繁体   English

为什么标题不在工具栏中居中?

[英]Why title is not centered in toolbar?

I am trying to add customized toolbar i want cart badge count so i added the relative layout to toolbar widget, when i didn't added relative layout in toolbar the title appeared in center but now removing relative layout causes problem in adding badge textview on cart, can anybody suggest what to do in this situation? 我想添加自定义工具栏我想要购物车徽章计数所以我添加相对布局到工具栏小部件,当我没有在工具栏中添加相对布局标题出现在中心但现在删除相对布局导致问题添加徽章textview在购物车上,有谁能建议在这种情况下做什么? Toolbar.xml Toolbar.xml

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mytoolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentInsetStart="0dp"
app:contentInsetRight="0dp"
app:contentInsetLeft="0dp"
android:clipToPadding="false"
app:contentInsetStartWithNavigation="0dp"
app:contentInsetEndWithActions="0dp"
android:background="@color/header">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<TextView
    android:id="@+id/displaytexttoolbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center"
    android:layout_margin="@dimen/activity_vertical_margin"
    android:text="TEXT_VIEW"
    android:textColor="@color/white" />

<RelativeLayout
    android:layout_gravity="right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">


    <ImageView
        android:id="@+id/cart_imagetoolbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_gravity="end"
        android:layout_margin="@dimen/activity_vertical_margin"
        android:src="@drawable/cart_mobile_white" />

    <TextView
        android:id="@+id/tvBadge"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_alignParentRight="true"
        android:layout_gravity="right"
        android:background="@drawable/cart_circle_mobile"
        android:gravity="center"
        android:textColor="@color/white"
        android:visibility="visible" />



</RelativeLayout>

</RelativeLayout>

在此输入图像描述 在此输入图像描述 在此输入图像描述

It has to do with your layout_margin . 它与你的layout_margin Try the below: 试试以下内容:

<TextView
    android:id="@+id/displaytexttoolbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginLeft|Right="?attr/actionBarSize"
    android:text="TEXT_VIEW"
    android:textColor="@color/white" />

Default value of the contentInsetStart (left padding in toolbar) is 16dp. contentInsetStart的默认值(工具栏中的左侧填充)为16dp。

Change it to 将其更改为

android:contentInsetStart="0dp"
android:contentInsetLeft="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"

Try this code: 试试这段代码:

use a Framelayout instead of RelativeLayout and apply android:gravity="center" for the Title 使用Framelayout而不是RelativeLayout并为标题应用android:gravity="center"

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mytoolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:contentInsetLeft="0dp"
    android:contentInsetStart="0dp"
    android:theme="@style/ThemeToolbar"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/displaytexttoolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="@dimen/activity_vertical_margin"
            android:gravity="center"
            android:text="TEXT_VIEW"
            android:textColor="@color/color_black" />

        <ImageView
            android:id="@+id/cart_imagetoolbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_gravity="end"
            android:layout_margin="@dimen/activity_vertical_margin"
            android:src="@mipmap/ic_launcher" />

        <ImageView
            android:id="@+id/tvBadge"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_alignParentRight="true"
            android:layout_gravity="right"
            android:gravity="center"
            android:src="@mipmap/ic_launcher"
            android:textColor="@color/color_black"
            android:visibility="visible" />
    </FrameLayout>

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

Output 产量

在此输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM