WedX - журнал о программировании и компьютерных науках

Удалить пробел между стрелкой назад и изображением на панели инструментов

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

Ниже мой xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://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="https://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 просто есть код для определения панели инструментов и включения кнопки «Домой», что означает стрелку назад.

введите описание изображения здесь


  • обратитесь к этому stackoverflow.com/a/29058430/1576416 14.02.2017
  • Лучше, если вы поправите меня в том же коде 14.02.2017
  • попробуйте использовать framelayout вместо relativelayout, или вы должны указать отступы и поля 0 для rl_User_Profile. пожалуйста, используйте цвет фона, чтобы проверить, какую площадь он занимает 14.02.2017
  • Вы решили это? 11.07.2018

Ответы:


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

на панель инструментов.

Полный код:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:titleTextAppearance="@style/Toolbar.TitleText"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    app:contentInsetStartWithNavigation="0dp" />
27.09.2017

2

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

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

  • 3

    В вашем файле 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>
    

    Теперь в теме вашего приложения добавьте:

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

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

    14.02.2017

    4

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

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

    android:layout_marginLeft="-20dp"

    14.02.2017
  • Изменения появляются в IDE, но не на устройстве 14.02.2017
  • другим способом может быть создание собственной панели инструментов, а не использование панели по умолчанию. 14.02.2017
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]