【发布时间】:2016-08-24 02:55:55
【问题描述】:
我在一个屏幕上工作,它有一个产品的工具栏信息和类似产品的列表。
<RelativeLayout>
<toolbar />
<Scrollbar>
<LinearLayout>
<ProductInfo />
<TextView > <!--Similar products -->
<RecyclerView />
</LinearLayout>
</Scrollbar>
除了滚动,一切正常。当 recyclerview 出现在屏幕上时,滚动不流畅。我认为这个想法应该是没有自己的滚动条的回收器视图。因为现在似乎我最终得到了两个滚动条,这让滚动变得痛苦。 有没有一种方法可以禁用 recyclerview 的滚动条并将其拉伸以占据所需的高度,并且父滚动条可以平滑地滚动我的屏幕?
我正在使用 staggeredGridLayoutManager,因此我可以在单个 Recyclerview 中使用 productinfo 视图和类似产品作为卡片,因为 ProductINfo 需要完整的屏幕宽度,而对于类似产品我需要两列。 请帮忙 代码:
> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:navigationIcon="?attr/homeAsUpIndicator" android:background="@color/primary" android:elevation="10dp" /> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/scrollView" android:fillViewport="true"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="?attr/actionBarSize"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/imgProduct" android:elevation="10dp" android:src="@drawable/placeholder" android:layout_margin="10dp" android:background="#ffffff" /> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/view" android:showDividers="end"> <FrameLayout android:id="@+id/frame" android:layout_width="60dp" android:layout_height="60dp"> <ImageView android:layout_width="60dp" android:layout_height="60dp" android:id="@+id/imgProfile" android:src="@drawable/ic_action_profile_black" /> <ImageView android:id="@+id/circle_crop" android:layout_width="60dp" android:layout_height="60dp" android:src="@drawable/circle_crop" /> </FrameLayout> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="20dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Medium Text" android:id="@+id/txtUserName" android:layout_gravity="center_vertical" android:textColor="@color/primary_text" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Small Text" android:id="@+id/txtTime" /> </LinearLayout> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Medium Text" android:id="@+id/txtProductName" android:layout_marginLeft="20dp" android:textColor="@color/primary_text" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Medium Text" android:id="@+id/txtDescription" android:layout_marginLeft="20dp" /> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:id="@+id/tagsContainer"> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:paddingLeft="5dp" android:paddingRight="5dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="10 Likes" android:id="@+id/txtLikes" android:layout_weight="1" android:textSize="16sp" android:textAlignment="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="10 Comments" android:id="@+id/txtComments" android:layout_weight="1" android:textSize="16sp" android:textAlignment="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="100 Times viewed" android:id="@+id/txtViews" android:layout_weight="1" android:textSize="16sp" android:textAlignment="center" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" > <ImageView android:layout_width="wrap_content" android:layout_height="30dp" android:id="@+id/imgLike" android:src="@drawable/ic_action_like_black" android:layout_weight="1" android:layout_gravity="center_vertical" /> <ImageView android:layout_width="wrap_content" android:layout_height="30dp" android:id="@+id/imgComment" android:src="@drawable/ic_action_comment_black" android:layout_weight="1" android:layout_gravity="center_vertical" /> <ImageView android:layout_width="wrap_content" android:layout_height="30dp" android:id="@+id/imgShare" android:src="@drawable/ic_action_share_black" android:layout_weight="1" android:layout_gravity="center_vertical" /> <Button android:layout_width="wrap_content" android:layout_height="30dp" android:text="Buy" android:id="@+id/btnBuy" android:background="@drawable/btncorner" android:layout_margin="10dp" android:textColor="@color/primary_text" android:elevation="10dp" android:layout_weight="1" android:layout_gravity="center_vertical" /> </LinearLayout> </LinearLayout> </LinearLayout> </android.support.v7.widget.CardView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Loading Similar Products.." android:id="@+id/txtSimilarProducts" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="5dp" /> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@id/feedContainer" android:scrollbars="none"> </android.support.v7.widget.RecyclerView> </LinearLayout> </ScrollView>
【问题讨论】:
-
如果你想要
Recyclerview没有滚动条,你为什么要首先使用Recyclerview?另外,请出示您的代码和xml。 -
我在 recyclerview 中显示的卡片包含要从内存不足异常中保存的图像,它们也可以具有不同的高度。我猜 recyclerview 仅使用 staggeredgridlayoutmanager 支持此功能
-
我已经发布了我的 xml。请检查
标签: android android-recyclerview