android - 使用RelativeLayout重叠TextView

标签 android android-layout android-relativelayout

我知道我可以使用 LinearLayout 来执行此操作,但我必须使用 RelativeLayout 因为我需要另一个 RelativeLayout锚定到整体布局的底部,作为一种“状态”栏,我希望标题和文本位于状态栏上方,与顶部对齐。使用 RelativeLayout 是我使状态栏正常工作的唯一方法。唯一的问题是标题和文本 TextViews 相互重叠,我需要文本位于标题正下方:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:paddingTop="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
         >       

            <RelativeLayout
                android:id="@+id/status" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_alignParentBottom="true"
                android:paddingTop="10dp"
              >
                    <TextView 
                        android:id="@+id/status" 
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_alignParentLeft="true" 
                    />      
            </RelativeLayout>

            <TextView 
                android:id="@+id/title" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_above="@id/status"       
                android:layout_alignParentTop="true"
            />

            <TextView 
                android:id="@+id/text" 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/title"    
                android:layout_alignParentTop="true"    
            />

    </RelativeLayout>

</FrameLayout>

最佳答案

您可以使用 LinearLayout 作为RelativeLayout 的子级。

   <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentTop="true">     
        <TextView 
            android:id="@+id/title" 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        />
        <TextView 
            android:id="@+id/text" 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        />
  </LinearLayout>

关于android - 使用RelativeLayout重叠TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11405941/

相关文章:

安卓 : how to deal with relative layout

安卓媒体播放器问题

java - 无法使 json 对 recyclerview 有效

android - 更改默认的 android 操作栏图标

Android:更新到 SDK 23 后的 java.land.NoSuchFieldError

android - 如何在 android 布局上实现左/右滑动/滑动

Android ImageView 显示在模拟器上但不显示在设备上

android - 如何在 Android 中为单击的图像按钮制作边框?

android - 创建自定义 android 布局

android - 如何在relativeLayout中显示按钮下方的textview