Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove margin in android toolbar icon

I get this weird margin in my app toolbar between icon and navigation icon in the toolbar (as in the image). I've got no idea about where it comes from and how to remove it. After searching the internet I found this:

<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_height="wrap_content"     android:layout_width="match_parent"     android:fitsSystemWindows="true"     android:minHeight="?attr/actionBarSize"     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"     android:background="?attr/colorPrimaryDark"     android:layout_margin="0dp"     android:contentInsetLeft="0dp"     android:contentInsetRight="0dp"     android:contentInsetStart="0dp"     android:contentInsetEnd="0dp"     android:padding="0dp"     app:contentInsetLeft="0dp"     app:contentInsetRight="0dp"     app:contentInsetStart="0dp"     app:contentInsetEnd="0dp"> </android.support.v7.widget.Toolbar> 

But I still get this margin as in the figure: Margin

Edit >> Solution

Well after using layout bound I figured much of the margins are of the icon(as in figure). But can I still remove this margin and change the size of the icon and the title text. enter image description here

Edit

Following @Amir solution: Helper for java:

class BasicActivity extends AppCompatActivity{     protected Toolbar mToolbar;    /// Initilize it in onCreate methode     .....       protected void setupToolbar(String title) {         toolbar=(Toolbar) findViewById(R.id.toolbar);         setSupportActionBar(toolbar);         ActionBar ab = getSupportActionBar();         if (ab != null) {             ab.setDisplayHomeAsUpEnabled(true);             ab.setDisplayShowHomeEnabled(true);         }         if (!TextUtils.isEmpty(title)) {         setTitle(title);     } }  } 

And in your activity class:

class Main extends BasicActivity{      @override      protected void onCreate(Bundle saved){           super.onCreate(saved);           ....           setupToolbar("MAIN");      } } 
like image 582
Anish Silwal Avatar asked Jul 11 '16 07:07

Anish Silwal


People also ask

How do I hide the custom toolbar on Android?

If you want to hide Action Bar from the entire application (from all Activities and fragments), then you can use this method. Just go to res -> values -> styles. xml and change the base application to “Theme. AppCompat.


1 Answers

You can easily remove Margin | padding between title and back icon with:

app:contentInsetStartWithNavigation="0dp" 

Margin | padding In left/right side of toolbar with:

app:contentInsetStart="0dp" 

Also if you need more customization do with following:

<?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/color_primary"     app:contentInsetEnd="0dp"     app:contentInsetLeft="0dp"     app:contentInsetRight="0dp"     app:contentInsetStart="0dp"     app:popupTheme="@style/ThemeOverlay.AppCompat.Light">       <RelativeLayout         android:layout_width="match_parent"         android:layout_height="match_parent"         android:gravity="center_vertical">          <ImageView             android:id="@+id/icon_toolbar_left"             style="@style/IconFont.Large"             android:layout_width="48dp"             android:layout_height="match_parent"             android:layout_alignParentLeft="true"             android:layout_alignParentStart="true"             android:background="?attr/selectableItemBackground" />            <TextView             android:id="@+id/text_toolbar_title"             style="@style/Textview.White.MediumSmall"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:layout_toLeftOf="@+id/icon_toolbar_right"             android:layout_toRightOf="@+id/icon_toolbar_left"             android:gravity="center"             android:text="@string/nav_category"/>           <ImageView             android:id="@+id/icon_toolbar_right"             style="@style/IconFont.Large"             android:layout_width="48dp"             android:layout_height="match_parent"             android:layout_alignParentEnd="true"             android:layout_alignParentRight="true"             android:background="?attr/selectableItemBackground"/>      </RelativeLayout>  </android.support.v7.widget.Toolbar> 
like image 54
Amir Avatar answered Sep 20 '22 14:09

Amir