2

Я хочу удалить пробел между встроенной стрелкой назад & imageview в панели инструментов.Удалить пространство между стрелкой назад и изображением на панели инструментов

Ниже мой XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".activities.AppBaseActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      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/colorPrimary" 
      android:contentInsetStart="0dp" 
      android:contentInsetLeft="0dp" 
      android:contentInsetRight="0dp" 
      android:contentInsetEnd="0dp" 
      app:contentInsetLeft="0dp" 
      app:contentInsetStart="0dp" 
      app:contentInsetRight="0dp" 
      app:contentInsetEnd="0dp" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

      <RelativeLayout 
       android:id="@+id/rl_User_Profile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

       <ImageView 
        android:id="@+id/imageView_User_Image" 
        android:layout_width="150dp" 
        android:layout_height="40dp" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_centerVertical="true" 
        android:layout_margin="1dp" 
        android:src="@drawable/app_logo" /> 

       <itcube.spcl.mobileapp.ui.view.CustomTextView 
        app:font="droid-serif.regular.ttf" 
        android:id="@+id/textView_User_Name" 
        android:text="jkdfsbjkbdkjsbf" 
        android:layout_marginLeft="3dp" 
        android:layout_toRightOf="@+id/imageView_User_Image" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_centerVertical="true" 
        android:layout_alignTop="@+id/imageView_User_Image"/> 
      </RelativeLayout> 
     </android.support.v7.widget.Toolbar> 
    </android.support.design.widget.AppBarLayout> 
    <include layout="@layout/content_app_base" /> 

</android.support.design.widget.CoordinatorLayout> 

стилей XML

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

PSA снимок показывает пространство, которое я должен удалить. Java-файл просто имеет код для определения панели инструментов. & кнопка set home включена, означает обратную стрелку.

enter image description here

+0

передать этот http://stackoverflow.com/a/29058430/1576416 –

+0

Лучше, если вы поправьте меня в том же коде – VVB

+0

попробуйте использовать framelayout вместо RelativeLayout или вы должны дать отступы и от 0 до rl_User_Profile. используйте цвет фона для проверки того, сколько области занято им –

ответ

-1

Насколько я знаю, что пространство кликабельна зона для стрелки.

Самый простой способ сделать это, я думаю, это установить минус марж для красного ящика.

android:layout_marginLeft="-20dp"

+0

Изменения появляются на IDE, но не на устройстве – VVB

+0

другим способом может быть создание вашей собственной панели инструментов, а не использование по умолчанию. –

0

В вашем styles.xml:

Добавить

<style name="homeToolbarStyle" parent="@style/Widget.AppCompat.Toolbar"> 
     <item name="titleTextColor">@color/White</item> 
     <item name="windowActionModeOverlay">true</item> 
     <item name="contentInsetLeft">12dp</item> 
     <item name="contentInsetStart">12dp</item> 
     <item name="contentInsetStartWithNavigation">0dp</item> 
     <item name="android:paddingLeft">10dp</item> 
    </style> 

и,

<style name="homeToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation"> 
     <item name="android:minWidth">0dp</item> 
     <item name="android:paddingRight">10dp</item> 
     <item name="android:scaleType">centerInside</item> 
    </style> 

В вашем стилям-v21, добавьте

<style name="homeToolbarStyle" parent="@style/Widget.AppCompat.Toolbar"> 
     <item name="titleTextColor">@color/White</item> 
     <item name="android:windowActionModeOverlay">true</item> 
     <item name="android:contentInsetLeft">12dp</item> 
     <item name="android:contentInsetStart">12dp</item> 
     <item name="android:textColorSecondary">@color/White</item> 
     <item name="contentInsetStartWithNavigation">0dp</item> 
     <item name="android:paddingLeft">10dp</item> 
    </style> 

и

<style name="homeToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation"> 
     <item name="android:minWidth">0dp</item> 
     <item name="android:scaleType">centerInside</item> 
     <item name="android:paddingRight">@dimen/dp10</item> 
    </style> 

Теперь в вашей теме App, добавьте:

<item name="toolbarStyle">@style/homeToolbarStyle</item> 
    <item name="toolbarNavigationButtonStyle">@style/homeToolbarNavigationButtonStyle</item> 

Вы можете изменить свои родительские темы, как в вашем приложении.

7

Попробуйте использовать mToolbar.setContentInsetStartWithNavigation(0);

+0

Это предложение не работает. У меня все еще есть отступы между стрелкой назад и текстом редактирования. Любые другие предложения? –

2
app:contentInsetLeft="0dp" 
app:contentInsetStart="0dp" 
app:contentInsetStartWithNavigation="0dp" 

в ToolBar.

Полный код:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:titleTextAppearance="@style/Toolbar.TitleText" 
    app:popupTheme="@style/AppTheme.PopupOverlay" 
    app:contentInsetLeft="0dp" 
    app:contentInsetStart="0dp" 
    app:contentInsetStartWithNavigation="0dp" /> 
Смежные вопросы