Xml 中的布局使用相对布局未对齐

Layout in Xml using Relative Layout not align

我正在尝试制作这样的东西:

我尝试使用相对但总是失败,尤其是在 dj 名称中。图片下方这是我在 xml:

中的代码
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp" >
  <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
 <ImageView
    android:id="@+id/imageBackground"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/details_bg_square"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<com.android.volley.toolbox.NetworkImageView
    android:layout_width="128dp"
    android:layout_height="128dp"
    android:id="@+id/ProfilePicture"
    android:src="@drawable/backgroundimage"
    android:scaleType="fitXY"
    android:layout_marginLeft="39dp"
    android:layout_marginStart="30dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="20dp" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name: "
    android:id="@+id/nametext"
    android:layout_marginLeft="5dp"
    android:layout_alignTop="@+id/imageView2"
    android:layout_toRightOf="@+id/imageView2"
    android:layout_toEndOf="@+id/imageView2" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Petra Mahalimuyak"
    android:id="@+id/namevalue"
    android:textColor="#ffe400"
    android:layout_alignTop="@+id/textView3"
    android:layout_toRightOf="@+id/textView3"
    android:layout_toEndOf="@+id/textView3" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Age: "
    android:id="@+id/agetext"
    android:layout_below="@+id/textView3"
    android:layout_alignLeft="@+id/textView3"
    android:layout_alignStart="@+id/textView3" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="32"
    android:textColor="#ffe400"
    android:id="@+id/agevalue"
    android:layout_alignTop="@+id/textView5"
    android:layout_toRightOf="@+id/textView5"
    android:layout_toEndOf="@+id/textView5" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Schedule: "
    android:id="@+id/scheduletext"
    android:layout_marginTop="28dp"
    android:layout_below="@+id/textView5"
    android:layout_alignLeft="@+id/textView5"
    android:layout_alignStart="@+id/textView5" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="6:00 AM - 9:00 PM"
    android:id="@+id/time"
    android:textColor="#ffe400"
    android:layout_below="@+id/textView7"
    android:layout_alignLeft="@+id/textView7"
    android:layout_alignStart="@+id/textView7" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Monday/Thursday"
    android:id="@+id/weekname"
    android:textColor="#FFFF"
    android:layout_below="@+id/textView8"
    android:layout_alignLeft="@+id/textView8"
    android:layout_alignStart="@+id/textView8" />

<djprofile.CustomFontTextview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Dj"
    android:id="@+id/djname"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/imageView2"
    android:layout_alignRight="@+id/imageView2"
    android:layout_alignEnd="@+id/imageView2" />

<material.TextViewEx
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="New Text"
    android:textColor="#FFFF"
    android:id="@+id/description"
    android:layout_below="@+id/textView19"

    android:layout_margin="20dp"/>

我的结果是这样的: 我快死在布局中了,请帮助我。

尝试线性布局而不是相对布局以获得完美的外观。根据您的结果,您可以像这样使用 xml,

<LinearLayout
  orientation:vertical>
   <LinearLayout
     orientation:horizontal>
     <LinearLayout> Profile Imageview </LinearLayout>
     <LinearLayout orienation:vertical> Necessary number of textviews </LinearLayout>
   </LinearLayout>
   <LinearLayout>textview(Lorel ipsum)</LinearLayout>
</LinearLayout>

您需要做的就是将 DjName 文本对齐到个人资料图片的左侧和下方,如下所示

<djprofile.CustomFontTextview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dj"
android:id="@+id/djname"
android:layout_below="@+id/ProfilePicture"
android:layout_alignParentLeft="true" />

您似乎开始了 RelativeLayout 的旅程。如果您正在努力理解其参数以及如何使用它们,请阅读此 tutorial

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout  
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
    android:id="@+id/layoutFirst"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <RelativeLayout
        android:id="@+id/layoutImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imgView"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:src="@drawable/gallery_img2" />

        <TextView
            android:id="@+id/txtView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imgView"
            android:layout_centerHorizontal="true"
            android:text="DJ MO Twister" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/layoutInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="20dp"
        android:layout_toRightOf="@+id/layoutImage"
        android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/layoutName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtViewNameLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Name:" />

            <TextView
                android:id="@+id/txtViewName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="John" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutAge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtViewAgeLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Age:" />

            <TextView
                android:id="@+id/txtViewAge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="32 Year" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layoutSchedule"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/txtViewScheduleLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Schedule:" />

            <TextView
                android:id="@+id/txtViewTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6:00 AM - 7:00 PM" />

            <TextView
                android:id="@+id/txtViewDay"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Monday/Tuesday" />
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/layoutFirst"
    android:layout_margin="10dp" >

    <TextView
        android:id="@+id/txtViewDescription"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Android is an operating System and it is an open 
 source." />  
</RelativeLayout>

</RelativeLayout>