Vhalad
Vhalad

Reputation: 119

Push down TextView below EditText multiline if the size starts to grow

Im trying to put a TextView below a multiline EditText and if the EditText starts to grow in height the TextView needs to stay below the EditText, right now if the EditText starts to grow it just covers the TextView below, they are inside a RelativeLayout. Here is the XML of the two objects:

<EditText
                android:id="@+id/descripcion_actividad"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/descripcion_actividad_label"
                android:layout_alignBottom="@+id/descripcion_actividad_label"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_toEndOf="@+id/cantidad"
                android:layout_toRightOf="@+id/cantidad"
                android:ems="10"
                android:inputType="textMultiLine" />

<TextView
                    android:id="@+id/hora_inicio"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/descripcion_actividad"
                    android:layout_alignParentBottom="false"
                    android:layout_below="@+id/descripcion_actividad"
                    android:layout_alignStart="@+id/descripcion_actividad"
                    android:text="TextView" />

EDIT: Whole layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_third_form_toolbar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="dbxprts.terminaltrak.PlanTrabajoActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/ToolBarStyle" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/my_toolbar"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <RelativeLayout
                android:id="@+id/activity_third_form"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                tools:context="dbxprts.terminaltrak.PlanTrabajoActivity">

                <Spinner
                    android:id="@+id/liberado_rechazado"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/tipo_fase"
                    android:layout_alignStart="@+id/tipo_fase"
                    android:layout_below="@+id/tipo_fase"
                    android:layout_marginTop="5dp"
                    android:entries="@array/array_liberado_rechazado"
                    android:visibility="gone" />

                <Spinner
                    android:id="@+id/id_cliente"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/id_cliente_label"
                    android:layout_marginLeft="35dp"
                    android:layout_toEndOf="@+id/id_realizo_label"
                    android:layout_toRightOf="@+id/id_realizo_label" />

                <TextView
                    android:id="@+id/hora_inicio"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/descripcion_actividad"
                    android:layout_alignParentBottom="false"
                    android:layout_alignStart="@+id/descripcion_actividad"
                    android:layout_below="@+id/descripcion_actividad"
                    android:layout_marginTop="20dp"
                    android:text="TextView" />

                <TextView
                    android:id="@+id/descripcion_actividad_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_cliente_label"
                    android:layout_marginTop="35dp"
                    android:text="Descripción Actividad:" />

                <TextView
                    android:id="@+id/id_cliente_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_operacion_label"
                    android:layout_marginTop="35dp"
                    android:text="ID Cliente:" />

                <Spinner
                    android:id="@+id/id_operacion"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/id_operacion_label"
                    android:layout_marginLeft="25dp"
                    android:layout_toEndOf="@+id/id_operacion_label"
                    android:layout_toRightOf="@+id/id_operacion_label" />

                <Spinner
                    android:id="@+id/id_supervisor"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/id_supervisor_label"
                    android:layout_marginLeft="25dp"
                    android:layout_toEndOf="@+id/id_supervisor_label"
                    android:layout_toRightOf="@+id/id_supervisor_label" />

                <TextView
                    android:id="@+id/id_operacion_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/cantidad_label"
                    android:layout_marginTop="35dp"
                    android:text="ID Operación:" />

                <EditText
                    android:id="@+id/cantidad"
                    android:layout_width="70dp"
                    android:layout_height="wrap_content"
                    android:layout_alignBaseline="@+id/cantidad_label"
                    android:layout_alignBottom="@+id/cantidad_label"
                    android:layout_toEndOf="@+id/id_supervisor_label"
                    android:layout_toRightOf="@+id/id_supervisor_label"
                    android:ems="10"
                    android:inputType="number" />

                <TextView
                    android:id="@+id/cantidad_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_supervisor_label"
                    android:layout_centerVertical="true"
                    android:layout_marginTop="35dp"
                    android:text="Cantidad:" />

                <TextView
                    android:id="@+id/id_programo_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/tipo_fase_label"
                    android:layout_marginTop="35dp"
                    android:text="ID Programó:"
                    android:textSize="15sp" />

                <Spinner
                    android:id="@+id/tipo_fase"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/tipo_fase_label"
                    android:layout_marginLeft="25dp"
                    android:layout_toEndOf="@+id/id_plan_label"
                    android:layout_toRightOf="@+id/id_plan_label"
                    android:dropDownWidth="match_parent"
                    android:minWidth="100dip" />

                <TextView
                    android:id="@+id/id_supervisor_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_realizo_label"
                    android:layout_marginTop="35dp"
                    android:text="ID Supervisor:" />

                <Spinner
                    android:id="@+id/spinner"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/id_realizo_label"
                    android:layout_alignLeft="@+id/tipo_fase"
                    android:layout_alignStart="@+id/tipo_fase"
                    android:layout_marginLeft="25dp" />

                <Button
                    android:id="@+id/confirmar_cambios"
                    android:layout_width="120dp"
                    android:layout_height="55dp"
                    android:layout_alignParentBottom="true"
                    android:layout_below="@+id/descarga_cronometro"
                    android:layout_centerHorizontal="true"
                    android:elevation="0dp"
                    android:text="Registrar Fase"
                    android:textAllCaps="false"
                    android:visibility="gone" />

                <TextView
                    android:id="@+id/hora_inicio_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignTop="@+id/hora_inicio"
                    android:text="Hora Inicio:" />

                <Spinner
                    android:id="@+id/via"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/id_programo_label"
                    android:layout_marginLeft="25dp"
                    android:layout_toEndOf="@+id/id_programo_label"
                    android:layout_toRightOf="@+id/id_programo_label" />

                <TextView
                    android:id="@+id/tipo_fase_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_plan_label"
                    android:layout_marginTop="35dp"
                    android:layout_toLeftOf="@+id/tipo_fase"
                    android:layout_toStartOf="@+id/tipo_fase"
                    android:text="Tipo Fase:"
                    android:textSize="15sp" />

                <TextView
                    android:id="@+id/id_plan_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:text="ID Plan Label:"
                    android:textSize="15sp" />

                <EditText
                    android:id="@+id/descripcion_actividad"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBaseline="@+id/descripcion_actividad_label"
                    android:layout_alignBottom="@+id/descripcion_actividad_label"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_toEndOf="@+id/cantidad"
                    android:layout_toRightOf="@+id/cantidad"
                    android:ems="10"
                    android:inputType="textMultiLine" />

                <TextView
                    android:id="@+id/id_realizo_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/id_programo_label"
                    android:layout_marginTop="35dp"
                    android:text="ID Realizó:" />


            </RelativeLayout>
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

Upvotes: 0

Views: 126

Answers (2)

SpiritCrusher
SpiritCrusher

Reputation: 21043

Use a Linearlayout instead .

  <LinearLayout
    android:layout_width="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/descripcion_actividad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textMultiLine" />

    <TextView
        android:id="@+id/hora_inicio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>

OR With Relative Layout use

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

    <EditText
        android:id="@+id/descripcion_actividad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:ems="10"
        android:inputType="textMultiLine" />

    <TextView
        android:id="@+id/hora_inicio"
        android:layout_width="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_height="wrap_content"
        android:layout_below="@+id/descripcion_actividad"
        android:text="TextView" />
</RelativeLayout>

Upvotes: 1

Rissmon Suresh
Rissmon Suresh

Reputation: 14053

Place the EditText and Textview inside a LinearLayout with orientation as vertical

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rootLinearLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <EditText
        android:id="@+id/descripcion_actividad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    --------------------------
    --------------------------
        android:inputType="textMultiLine" />

    <TextView
        android:id="@+id/hora_inicio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    --------------------------
    --------------------------
    android:text="TextView" />
</LinearLayout>

Upvotes: 1

Related Questions