Заголовок и значок панели инструментов в центре

Я пытаюсь использовать настраиваемую панель инструментов. Я хочу, чтобы значок и заголовок были в центре моей панели инструментов. Я много пробовал установить его по центру, но у меня не получается. Мой XML как показано ниже

<android.support.v7.widget.Toolbar
        android:id = "@+id/toolbar"
        android:layout_height = "?actionBarSize"
        android:layout_width = "match_parent"
        android:background = "@color/colorPrimary">

        <RelativeLayout
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"
            android:gravity = "center_horizontal"
            android:orientation = "horizontal">

            <ImageView
                android:padding = "5dp"
                android:layout_width = "wrap_content"
                android:layout_height = "wrap_content"
                android:src = "@drawable/ic_launcher"/>

            <TextView
                android:id = "@+id/toolbar_title"
                android:layout_width = "wrap_content"
                android:layout_height = "match_parent"
                android:layout_alignParentLeft = "true"
                android:layout_alignParentStart = "true"
                android:layout_alignParentTop = "true"
                android:gravity = "center"
                android:text = "MyApplication"
                android:textAppearance = "@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
                android:textColor = "@color/colorWhite" />

        </RelativeLayout>


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

Но его дисплей не идеален в соответствии с моими потребностями. Мне нужен первый логотип, а затем заголовок в центре панели инструментов, но он выглядит так

Посмотрите

Дайте мне знать, если кто-нибудь может мне помочь в этом. Мне очень жаль, если это очень просто. Я еще учусь. Спасибо

stackoverflow.com/questions/29443604/…
saber 29.03.2018 23:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
1 226
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуй это! Немного проще просто использовать LinearLayout с горизонтальной ориентацией imo. При необходимости измените источник изображения и текст заголовка:

<android.support.v7.widget.Toolbar
    android:id = "@+id/toolbar"
    android:layout_height = "?actionBarSize"
    android:layout_width = "match_parent"
    android:background = "@color/colorPrimary">

    <LinearLayout
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:orientation = "horizontal"
    android:gravity = "center_horizontal">
    <ImageView
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content" 
    android:src = "@drawable/ic_launcher_background"/>
    <TextView
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:text = "My Title"/>
    </LinearLayout>

</android.support.v7.widget.Toolbar>
Ответ принят как подходящий

Попробуйте вместо этого:

<android.support.v7.widget.Toolbar
    android:id = "@+id/toolbar"
    android:layout_height = "?actionBarSize"
    android:layout_width = "match_parent"
    android:paddingRight = "16dp"
    android:background = "@color/colorPrimary">

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:gravity = "center"
        android:orientation = "horizontal">

        <ImageView
            android:padding = "5dp"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            app:srcCompat = "@drawable/ic_launcher"/>

        <TextView
            android:id = "@+id/toolbar_title"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:text = "MyApplication"
            android:textAppearance = "@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
            android:textColor = "@color/colorWhite" />

    </LinearLayout>

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

Использование LinearLayout позволит вам легко убедиться, что виды не перекрываются. Я также добавил 16dp отступа с правой стороны, чтобы компенсировать маржу 16dp, которую Android автоматически добавляет к левой стороне.

Попробуйте указать поле макета для просмотра изображения и выровняйте центр текстового просмотра по горизонтали, что даст вам желаемый результат.

<android.support.v7.widget.Toolbar
    android:id = "@+id/toolbar"
    android:layout_height = "?actionBarSize"
    android:layout_width = "match_parent"
    android:background = "@color/colorPrimary">

    <RelativeLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:gravity = "center_horizontal"
        android:orientation = "horizontal">

        <ImageView
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:layout_marginRight = "300dp"
            android:padding = "5dp"
            android:src = "@mipmap/ic_launcher" />

        <TextView
            android:id = "@+id/toolbar_title"
            android:layout_width = "wrap_content"
            android:layout_height = "match_parent"
            android:layout_alignParentTop = "true"
            android:layout_centerHorizontal = "true"
            android:gravity = "center"
            android:text = "MyApplication"
            android:textAppearance = "@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
            android:textColor = "@color/colorWhite" />

    </RelativeLayout>


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

Другие вопросы по теме