sonaliparwani
sonaliparwani

Reputation: 111

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

enter image description here enter image description hereenter image description here

Upvotes: 8

Views: 2860

Answers (3)

Josh Laird
Josh Laird

Reputation: 7224

It has to do with your 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" />

Upvotes: 6

rafsanahmad007
rafsanahmad007

Reputation: 23881

Try this code:

use a Framelayout instead of RelativeLayout and apply android:gravity="center" for the Title

    <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

enter image description here

Upvotes: 2

PEHLAJ
PEHLAJ

Reputation: 10126

Default value of the contentInsetStart (left padding in toolbar) is 16dp.

Change it to

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

Upvotes: 4

Related Questions