How to position a view on top of another view in RelativeLayout?

15,862

Solution 1

Put your LinearLayout after TextView like this:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" <!-- this because the textview is the topmost view on the screen so I tried to use this -->
    android:text="my text"
    android:textSize="10pt"
    android:id="@+id/text1" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text1"
    android:orientation="vertical"
    android:id="@+id/linear_layout">
    <!-- some other views -->
</LinearLayout>

Solution 2

In Java, you can do it by text1.bringToFront();

Solution 3

Add this line in your LinearLayout:

<LinearLayout
...
android:layout_below:"@+id/text1">

</LinearLayout>
Share:
15,862
Sweeper
Author by

Sweeper

I specialise in four programming languages: C#, Java, Kotlin and Swift. I don't know what to say here, so let me show you some of my apps, as well as my blog. Also you can donate to me if you'd like :D iOS Apps: Pocket Cheque Helper CusTimer Pushy Squares Math Toolbox Free Color Bible EZDiary TZoney Directional Snake LongLatMap Not Really Color Blind? 城迹单

Updated on June 12, 2022

Comments

  • Sweeper
    Sweeper almost 2 years

    I have a TextView (indicated in green below) and a LinearLayout (indicated in red below) in a RelativeLayout. I want to position the TextView on top of the LinearLayout, like this:

    However, I tried this:

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/linear_layout">
        <!--some other views-->
    </LinearLayout>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" <!--this because the textview is the topmost view on the screen so I tried to use this-->
        android:layout_alignLeft="@id/linear_layout"
        android:text="my text"
        android:textSize="10pt"
        android:id="@+id/text1"/>
    

    However, when I run the app, it is like this:

    enter image description here

    So I want to know what did I do wrong and how to fix it. Is there an xml attribute that I can use?

    If you need more code to identify the problem, feel free to tell me!