Mehvish Ali
Mehvish Ali

Reputation: 752

Unable to make child layout fill its parent inside ScrollView

Im am having a parent layout RelativeLayout inside ScrollView which contains several child layouts and a child layout (i.e preview_wrapper) at end of RelativeLayout which fills the it with match_parent LayoutParam and contains a Background with alpha color and its clickable and focusable is set to true so that no view inside the parent layout is clickable. but it not working for me i am unable to see the last child fill the parent layout bring to front. however when I remove ScrollView its working perfect.. but i need to bring it inside ScrollView as I make the preview_wrapper outside the ScrollView i am unable to scroll the layout.

Structure:

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

        <!-- the layout I want to bring in front of above linear layout and cover its parent -->
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/alpha_white"
            android:clickable="true"
            android:focusable="true"
            android:id="@+id/preview_wrapper"
            ></RelativeLayout>


    </RelativeLayout>

</ScrollView>

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:background="@color/white"
    >

  <ScrollView
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4"
            android:layout_below="@+id/car_pager"
            android:orientation="horizontal"
            android:id="@+id/action_wrap"
            >
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:id="@+id/action_save"
                android:background="@drawable/btn_action_selector"
                android:clickable="true"
                android:focusable="true"
                android:paddingTop="20dp"
                android:paddingBottom="20dp"

                >
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:orientation="vertical"
                    >
                    <ImageView
                        android:layout_width="15dp"
                        android:layout_height="15dp"
                        android:src="@drawable/ic_star_hollow"

                        android:tint="@color/white"
                        android:id="@+id/ic_save"
                        android:layout_gravity="center"
                        />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:textColor="@color/white"
                        android:text="@string/save"
                        android:textAllCaps="false"
                        android:layout_marginTop="10dp"

                        />
                </LinearLayout>



            </RelativeLayout>

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/action_email"
                android:layout_weight="1"
                android:background="@drawable/btn_action_selector"
                android:clickable="true"
                android:focusable="true"
                android:paddingTop="20dp"
                android:paddingBottom="20dp"
                >
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:orientation="vertical"
                    >

                    <ImageView
                        android:layout_width="15dp"
                        android:layout_height="15dp"
                        android:src="@drawable/ic_email_action"
                        android:layout_centerInParent="true"
                        android:tint="@color/white"
                        android:layout_gravity="center"
                        />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:textColor="@color/white"
                        android:text="@string/contact"
                        android:textAllCaps="false"
                        android:layout_marginTop="10dp"
                        />


                </LinearLayout>

            </RelativeLayout>

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/action_price_alert"
                android:layout_weight="1"
                android:background="@drawable/btn_action_selector"
                android:clickable="true"
                android:focusable="true"
                android:paddingTop="20dp"
                android:paddingBottom="20dp"
                >
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:orientation="vertical"
                    >

                    <ImageView
                        android:layout_width="15dp"
                        android:layout_height="15dp"
                        android:src="@drawable/ic_electric"
                        android:layout_centerInParent="true"
                        android:tint="@color/white"
                        android:id="@+id/price_alt_btn"
                        android:layout_gravity="center"
                        />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:textColor="@color/white"
                        android:text="@string/price_alert"
                        android:textAllCaps="false"
                        android:layout_marginTop="10dp"
                        />

                </LinearLayout>

            </RelativeLayout>

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/action_flag"
                android:layout_weight="1"
                android:background="@drawable/btn_action_selector"
                android:clickable="true"
                android:focusable="true"
                android:paddingTop="20dp"
                android:paddingBottom="20dp"

                >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:orientation="vertical"
                    >

                    <ImageView
                        android:layout_width="15dp"
                        android:layout_height="15dp"
                        android:src="@drawable/ic_flag_hollow"
                        android:layout_centerInParent="true"
                        android:tint="@color/white"
                        android:layout_gravity="center"
                        />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:textColor="@color/white"
                        android:text="@string/abuse_report"

                        android:layout_marginTop="10dp"
                        android:textAllCaps="false"
                        />

                </LinearLayout>
            </RelativeLayout>

        </LinearLayout>
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/alpha_white"
            android:clickable="true"
            android:focusable="true"
            android:id="@+id/preview_wrapper"
            ></RelativeLayout>

    </RelativeLayout>


    </ScrollView>

</RelativeLayout>

Upvotes: 1

Views: 526

Answers (1)

Ajil O.
Ajil O.

Reputation: 6892

Then make the RelativeLayout into a FrameLayout and rearrange the child layout as shown here

<ScrollView>
    <FrameLayout>

        <!-- the layout I want to bring in front of above linear layout and cover its parent -->

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/alpha_white"
            android:clickable="true"
            android:focusable="true"
            android:id="@+id/preview_wrapper"
            ></RelativeLayout>

        <LinearLayout>
        </LinearLayout>
    </FrameLayout>

</ScrollView>

Upvotes: 1

Related Questions