Reputation: 129
Good day. I have a layout code shown below
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<RelativeLayout 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=".MainActivity">
<include
android:id="@+id/toolbar"
layout="@layout/app_bar" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="165dp"
android:layout_below="@+id/toolbar" />
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_alignBottom="@id/viewpager"
android:background="#33000000">
<TextView
android:id="@+id/tv_image_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:paddingLeft="10dp"
android:text="Shop Name"
android:textColor="#FFF" />
<LinearLayout
android:id="@+id/ll_point_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:orientation="horizontal"
android:paddingRight="10dp">
</LinearLayout>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/cardList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/relativeLayout" />
</RelativeLayout>
</ScrollView>
I have connected my recyclerview with a list of data but why is RecyclerView Layout is scrollable but not the entire Relativelayout. I have wrapped the RelativeLayout with ScrollView. it seems like not working. please see the image below
Do let me know if you guys have better solution for this. Billion thanks.
Upvotes: 0
Views: 631
Reputation: 5295
You have added one scrolling component in another- RecycleView in a Scrollview So only one will take focus. This is against android guidelines. you should never put one scrolling component in another. However to achieve both scrolling
yourRecycleView.setOnTouchListener(new OnTouchListener() {
// Setting on Touch Listener for handling the touch inside ScrollView
@Override
public boolean onTouch(View v, MotionEvent event) {
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
Upvotes: 1
Reputation: 10697
Change your RelativeLayout
height to wrap_content
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".MainActivity">
Upvotes: 1