RelativeLayout не соответствует родительской ширине внутри панели инструментов - PullRequest
0 голосов
/ 21 февраля 2019

Итак, у меня есть настроенная панель инструментов на домашнем экране, и внутри этой панели инструментов есть RelativeLayout.У меня для layout width установлено значение match_parent, а родителем относительного макета является только ширина экрана.

По какой-то причине он не соответствует ширине экрана, поскольку левый крайна некотором расстоянии от края экрана.Я не уверен, почему это так, но это затрудняет позиционирование в RelativeLayout.

Это мой .xml

<android.support.v7.widget.Toolbar
    android:id="@+id/products_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@drawable/bg_gradient"
    app:layout_constraintStart_toStartOf="parent"
    app:titleTextColor="#000000">

    <RelativeLayout
        android:id="@+id/topRL"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="16dp">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="72sp"
            android:layout_height="37sp"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginStart="137dp"
            android:layout_marginTop="11dp"
            android:layout_marginEnd="159dp"
            android:fontFamily="@font/veganstyle"
            android:gravity="center"
            android:text="BL"
            android:textAlignment="center"
            android:textColor="#efefef"
            android:textSize="20dp"
            android:textStyle="bold" />

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

И это скриншот, показывающий, чтоЯ говорю о.

enter image description here

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

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

1 Ответ

0 голосов
/ 21 февраля 2019

Вам необходимо установить следующий атрибут в вашем ToolBar

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

Следовательно, ваш макет должен быть примерно таким:

<?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/products_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    app:titleTextColor="#000000">

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

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="72sp"
            android:layout_height="37sp"
            android:layout_centerInParent="true"
            android:text="BL"
            android:textAlignment="center"
            android:textColor="#efefef"
            android:textSize="20dp"
            android:textStyle="bold" />

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

Вот это из документации разработчика .

...