我正在尝试创建包含多个carview项目的水平可滑动回收视图。以下是我如何设置适配器的方式
LinearLayoutManager horizontalLayoutManagaer
= new LinearLayoutManager(MainActivity.this, LinearLayoutManager.HORIZONTAL, false);
horizontal_recycler_view.setLayoutManager(horizontalLayoutManagaer);
horizontal_recycler_view.setItemAnimator(new DefaultItemAnimator());
horizontal_recycler_view.setAdapter(adapter);
以下是我的recyclerview商品代码布局代码。
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="8dp"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="wrap_content"
android:layout_height="@dimen/album_cover_height"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:scaleType="fitXY" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/thumbnail"
android:paddingLeft="@dimen/album_title_padding"
android:paddingRight="@dimen/album_title_padding"
android:paddingTop="@dimen/album_title_padding"
android:textColor="@color/album_title"
android:textSize="@dimen/album_title" />
<TextView
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/title"
android:paddingBottom="@dimen/songs_count_padding_bottom"
android:paddingLeft="@dimen/album_title_padding"
android:paddingRight="@dimen/album_title_padding"
android:textSize="@dimen/songs_count" />
<ImageView
android:id="@+id/overflow"
android:layout_width="@dimen/ic_album_overflow_width"
android:layout_height="@dimen/ic_album_overflow_height"
android:layout_alignParentRight="true"
android:layout_below="@id/thumbnail"
android:layout_marginTop="@dimen/ic_album_overflow_margin_top"
android:scaleType="centerCrop"
android:src="@drawable/ic_dots"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
问题是,一次只能看到一张卡片,但我希望在Google Play中可以看到多张卡片。我怎样才能解决这个问题?
如您所见,布局包含水平回收视图。然后它包含垂直回收者视图。水平回收站视图仅显示一个cardview,并在滑动时显示其他视图,但我想同时显示多个视图。
答案 0 :(得分:3)
尝试
wrap_content
。overflow
的ImageView与父级右侧对齐。删除它并添加android:layout_alignRight="@id/thumbnail"
答案 1 :(得分:1)
您应该为所有ViewGroup(即LinearLayout,CardView和RelativeLayout)设置layout_width
为wrap_content
,仅仅设置外部ViewGroup是不够的。
这也适用于所有其他子项,例如ImageView,TextView等。通常,如果子视图的layout_width
设置为match_parent
且父级有wrap_content
,则父级我会努力尽可能地满足这一需求。
同样是一种风格,你应该用骆驼符号命名你的变量,例如: horizontal_recycler_view
应为horizontalRecyclerView
。