【问题标题】:Centre Item in RelativeLayout inside DrawerLayout在 DrawerLayout 内的 RelativeLayout 中居中项目
【发布时间】:2019-04-01 09:30:12
【问题描述】:

我有一个抽屉布局,其中包含主要活动的相对布局以及自定义应用程序栏库。我正在尝试将 placeNameDesc TextView 在屏幕中居中,但这没有发生

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 是否是此处使用的正确布局类型,非常感谢您对此问题的任何帮助。

【问题讨论】:

    标签: android layout textview


    【解决方案1】:

    你需要设置这个属性android:layout_centerInParent="true" 并从其属性中删除android:layout_below="@id/placeImage",因为此属性将其置于placeImage 之下并且不允许它正确居中。
    在此之后,您可能需要对其他视图进行其他更改。

    【讨论】:

      【解决方案2】:

      您好 MrJimmyBoy,您的布局中的问题是您正在为您的 textview 提供一种锚点,以便与 layout_centerInParent 对齐。

      提供suc标签layout_belowlayout_above等将覆盖layout_centerInParentlayout_centerHorizontallayout_centerVertial

      您需要做的就是从您的 placeNameDesc 文本视图中删除 android:layout_below

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 2015-10-20
        • 1970-01-01
        • 2012-01-22
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多