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

戏子无情 提交于 2019-12-10 20:11:57

问题


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:

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!


回答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>



回答2:


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




回答3:


Add this line in your LinearLayout:

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

</LinearLayout>



回答4:


Replacing your layout with following one should work.

<TextView
    android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" 
    android:layout_alignLeft="@id/linear_layout"
    android:text="my text"
    android:textSize="10pt"
    android:id="@+id/text1"/>
<LinearLayout
    android:id="@+id/linearlayout"
    android:layout_below="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/linear_layout">
    <!--some other views-->
</LinearLayout>


来源:https://stackoverflow.com/questions/31695087/how-to-position-a-view-on-top-of-another-view-in-relativelayout

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!