动态高度的TextView知道如何在其下定位TextView

时间:2014-08-07 04:00:38

标签: android android-layout textview

我有两个TextView小部件添加到RelativeLayout。顶部TextView是文章的标题,具有动态高度,具体取决于标题的长度。例如。它可以是3行或1行。坐在正下方的是具有文章文本的正文TextArea

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".com.puc.mobile.news.PUCNewsDetail"
    android:background="@color/white">

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/scrollView" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <ImageView
                android:id="@+id/news_detail_image"
                android:layout_width="match_parent"
                android:layout_height="250dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:scaleType="centerCrop"
                android:src="@drawable/default_background"
                android:focusableInTouchMode="true" />

            <TextView
                android:id="@+id/news_detail_created"
                android:layout_width="fill_parent"
                android:layout_height="200dp"
                android:gravity="bottom"
                android:paddingBottom="10dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:shadowColor="#000"
                android:shadowDx="1"
                android:shadowDy="1"
                android:shadowRadius="1"
                android:text="TextView"
                android:textColor="#FFF"
                android:textSize="13sp"
                android:textStyle="bold|italic" />

            <TextView
                android:id="@+id/news_detail_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="bottom"
                android:paddingBottom="10dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="@color/dark_grey_font"
                android:textSize="28sp"
                android:textStyle="bold"
                android:layout_marginTop="260dp"
                android:maxLines="3"
                android:minLines="1"
                android:paddingTop="0dp" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="New Text"
                android:id="@+id/news_detail_body"
                android:layout_marginTop="280dp"
                android:textSize="18dp"
                android:paddingBottom="10dp"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="@color/grey_font" />
        </RelativeLayout>
    </ScrollView>

</FrameLayout>

如何将它们叠放在一起,以便身体TextArea始终位于标题下方(根据高度将其向下推)TextView,无论如何标题的高度是?

1 个答案:

答案 0 :(得分:1)

将ID分配给TextViews。并在textarea TextView上使用layout_below属性。

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

    <TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Text Area"
    android:id="@+id/item_area_text" 
    android:layout_below="@+id/item_title_text"/>

编辑您的XML应如下所示,请勿在{{1​​}} textview上使用margin-top。根据您的需要使用body属性。

android:layout_below

结帐

How to use Relative Layout in Android

Android RelativeLayout Example

RelativeLayout Example

Developer site