Центральный элемент в RelativeLayout внутри DrawerLayout - PullRequest
0 голосов
/ 28 октября 2018

У меня есть Drawer Layout, который содержит относительный макет для основного действия в нем, а также пользовательскую библиотеку панели приложения.Я пытаюсь центрировать текстовое представление placeNameDesc на экране, однако это не происходит

Код XML-макета:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:openDrawer="start">

<RelativeLayout 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"
    xmlns:anroid="http://schemas.android.com/apk/res-auto"
    tools:context=".PlaceDetails"
    android:background="@mipmap/background">

    <com.github.florent37.awesomebar.AwesomeBar
        android:id="@+id/bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:elevation="4dp" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/bar"
        android:id="@+id/placeImage"/>

    <TextView
        android:id="@+id/imageCounter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/placeImage"
        android:fontFamily="@font/montserrat"
        android:layout_centerHorizontal="true"
        android:textColor="@color/menuYellow" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/placeNameDesc"
        android:fontFamily="@font/montserrat"
        android:layout_centerInParent="true"
        android:textSize="18sp"
        android:text="Name:"
        android:layout_below="@id/placeImage"
        android:textColor="@color/menuYellow"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/placeNameDesc"
        android:fontFamily="@font/montserrat"
        android:textSize="14sp"
        android:layout_centerHorizontal="true"
        android:textColor="@color/menuText"
        android:id="@+id/placeName"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/placeAddressDesc"
        android:fontFamily="@font/montserrat"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:textSize="18sp"
        android:text="Address:"
        android:layout_below="@+id/placeName"
        android:textColor="@color/menuYellow"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/placeAddressDesc"
        android:fontFamily="@font/montserrat"
        android:textSize="14sp"
        android:layout_centerHorizontal="true"
        android:textColor="@color/menuText"
        android:id="@+id/placeAddress"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/placeRatingDesc"
        android:fontFamily="@font/montserrat"
        android:layout_marginTop="10dp"
        android:textSize="18sp"
        android:layout_centerHorizontal="true"
        android:text="Google Rating:"
        android:layout_below="@id/placeAddress"
        android:textColor="@color/menuYellow"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/placeRatingDesc"
        android:fontFamily="@font/montserrat"
        android:textSize="14sp"
        android:layout_centerHorizontal="true"
        android:textColor="@color/menuText"
        android:id="@+id/placeRating"/>

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/submitInstructions"
        android:layout_centerHorizontal="true"
        android:id="@+id/instructionsButton"
        android:src="@drawable/instructionsbutton"
        android:background="#00000000"/>

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/submitInstructions"
        android:layout_alignParentBottom="true"
        android:src="@drawable/submitinstructionsbutton"
        android:background="#00000000"/>

</RelativeLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/drawer_menu" />

</android.support.v4.widget.DrawerLayout>

Я не уверен, является ли RelativeLayout правильным типом макета, который должен бытьИспользуя здесь, любая помощь с этой проблемой высоко ценится.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Здравствуйте, MrJimmyBoy, проблема в вашем макете заключается в том, что вы предоставляете своего рода привязку к вашему текстовому изображению для выравнивания в дополнение к layout_centerInParent.

Предоставление тегов suc layout_below или layout_above и т. Д. Переопределит layout_centerInParent, layout_centerHorizontal и layout_centerVertial

Все, что вам нужно сделать, это удалить android:layout_below из вашего placeNameDesc Просмотр текста.

0 голосов
/ 28 октября 2018

Вам необходимо установить этот атрибут android:layout_centerInParent="true" и удалить android:layout_below="@id/placeImage" из его атрибутов, потому что этот атрибут помещает его ниже placeImage и не позволяет ему правильно центрироваться.
Возможно, вам придется внести другие изменения после этого в другие представления.

...