jihoon kim
jihoon kim

Reputation: 1290

recyclerview inside horizontalscrollview

how can i put vertical recyclerview inside horizontalScrollview ?

when adapter binds data at viewholder, item's left margin is increase.

(ex : leftMargin = position * 100)

but doesn't work horizontalScrollview. help me ~~
sorry for my bad english. enter image description here

my activity layout .xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent">

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:scrollbarAlwaysDrawHorizontalTrack="true">

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

        <android.support.v7.widget.RecyclerView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
</HorizontalScrollView>
</FrameLayout>

and list_item .xml

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_margin="8dp"
card_view:cardCornerRadius="2dp">

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

    <ImageView
        android:id="@+id/icon"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@drawable/bullet" />
    <CheckBox
        android:id="@+id/check"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
</android.support.v7.widget.CardView>

Upvotes: 2

Views: 4697

Answers (2)

You must set width for recyclerview => it's done.

Upvotes: 0

Aitor Viana
Aitor Viana

Reputation: 933

If what you want is a list of items that scroll horizontally, use LinearLayoutManager with your RecyclerView.

LinearLayoutManager manager = new LinearLayoutManager(
  this,
  LinearLayoutManager.HORIZONTAL,
  false
);

Upvotes: 4

Related Questions