在RelativeLyout内的LinerLayout上方对齐TextView

时间:2018-08-01 16:12:28

标签: android

我是Android新手。我有一个RelativeLayout作为父容器,并拖曳TextView和一个LinearLayout,其中包含3张图片。

我正在尝试将TextView对准LinearLayout上方,但无法成功。这是XML

<?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">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/model" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-light"
        android:text="Jane"
        android:textColor="@android:color/white"
        android:textSize="72sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="sans-serif-light"
        android:text="Roe"
        android:textColor="@android:color/white"
        android:textSize="72sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal"
        android:weightSum="3">

        <ImageView
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:layout_weight="1"
            android:background="#CC00BCD4"
            android:padding="16dp"
            android:src="@drawable/ic_camera" />

        <ImageView
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:layout_weight="1"
            android:background="#CC00BCD4"
            android:padding="16dp"
            android:src="@drawable/ic_like" />

        <ImageView
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:layout_weight="1"
            android:background="#CC00BCD4"
            android:padding="16dp"
            android:src="@drawable/ic_share" />

    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

当您位于RelativeLayout内时,可以使用android:layout_above属性。只需在您的LinearLayout中添加一个id,然后在android:layout_above中使用TextView,就像这样:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="sans-serif-light"
    android:text="Roe"
    android:textColor="@android:color/white"
    android:textSize="72sp"
    android:layout_above:"@id/your_linear_layout_id" /> /*<--- set this as the name 
    of your linear layout id*/

答案 1 :(得分:0)

只需包装您的textview和LinearLayout 在另一个LinearLayout内

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_height="match_parent"     
android:layout_width="match_parent">
 <ImageView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:src="@drawable/model"
 android:scaleType="centerCrop"/>
 <LinearLayout
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="wrap_content">
 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Jane"
 android:textSize="72sp"
 android:fontFamily="sans-serif-light"
 android:textColor="@android:color/white"/> 
<TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Roe"
 android:textSize="72sp"
 android:fontFamily="sans-serif-light"
 android:textColor="@android:color/white"/> 

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:orientation="horizontal"
 android:weightSum="3"

android:layout_alignParentBottom="true"> 
<ImageView
 android:layout_width="56dp"
 android:layout_height="56dp"
 android:src="@drawable/ic_camera"
 android:background="#CC00BCD4"
 android:padding="16dp"
 android:layout_weight="1"/>
<ImageView
 android:layout_width="56dp"
 android:layout_height="56dp"
 android:src="@drawable/ic_like"
 android:background="#CC00BCD4"
 android:padding="16dp"
 android:layout_weight="1" 
 android:layout_marginLeft="1dp"
 android:layout_marginRight="1dp"/>
 <ImageView
 android:layout_width="56dp"
 android:layout_height="56dp"
 android:src="@drawable/ic_share"
 android:background="#CC00BCD4"
 android:padding="16dp"
 android:layout_weight="1"/> 
</LinearLayout> 
 </LinearLayout> 
</RelativeLayout>