我需要在列表中创建一个带有项目(tile)的屏幕(活动/片段),该列表可以水平和垂直滚动+标签。像Google Play上的主页一样。 见截图:
最佳解决方案是什么?也许建议一些好的库/组件。 感谢。
答案 0 :(得分:1)
这是更好的方法
ScrollView
LinearLayout
CardView
horizontal
滚动RecyclerView
并为每行制作卡片。享受。
答案 1 :(得分:0)
您可以按步骤
执行此操作ListView
。 因此,您将有两个列表,第一个垂直遍历,第二个列表将填充到第一个列表的行中并横向遍历。
尝试解决此问题,然后在遇到错误时更新此问题。
希望这会有所帮助:)
答案 2 :(得分:0)
真的很简单。您需要做的就是设置" nestedScrollingEnabled"在父级中标记为true。关于如何使用scrollview作为根布局在xml中执行此操作的一个非常高级的示例:
- ScrollView
------ RelativeLayout //作为scrollview只能有一个子
--------- RecyclerView1 - >将LayoutManager设置为HORIZONTAL
--------- RecyclerView2 - >将LayoutManager设置为HORIZONTAL
------- EndRelativeLayout
--EndScrollView
这对我有用(你可以忽略@ id / headers部分):
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/next"
android:nestedScrollingEnabled="true"
tools:ignore="MissingPrefix">
<TextView
android:id="@+id/header1"
fontPath="fonts/CircularStd-Bold.otf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:text=""
android:textSize="16dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/header2"
fontPath="fonts/CircularStd-Bold.otf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
android:text=""
android:textSize="16dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recycler_view_2" />
<TextView
android:id="@+id/textView26"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:paddingBottom="100dp"
android:text=""
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recycler_view_1" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@+id/header1"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollbars="none"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/header2" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@+id/header1"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollbars="none"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/header1" />
</android.support.constraint.ConstraintLayout>
</ScrollView>