Android RecyclerView 提供垂直和水平
Android RecyclerView Provide Vertical and Horizontal
我有一个 Vertical RecyclerView。我在其中添加了项目。它工作正常。现在我的问题是当任何单个项目将有这么多数据时,我希望我的整个 RecyclerView 水平滚动而不是那个单个项目。
这是我做的UI。
对于内部单元格,我在 Linearlayout 中动态添加视图。
for (int i = 0; i <subItem ; i++) {
View Cv= Li.inflate(R.layout.custom_cell, holder.ViewLayout, false);
TextView textBedInfo = (TextView) Cv.findViewById(R.id.textBedInfo);
TextView textRowInfo = (TextView) Cv.findViewById(R.id.textRowInfo);
textBedInfo.setTypeface(fontBold);
textRowInfo.setTypeface(fontRegular);
if(i==0 || i==subItem-1){
textBedInfo.setVisibility(View.GONE);
textRowInfo.setText((position+1)+" Row");
}
else{
textRowInfo.setVisibility(View.GONE);
ConstantMethod.setBorder(textBedInfo, Color.WHITE,R.drawable.circle);
textBedInfo.setText(String.valueOf(i));
}
holder.ViewLayout.addView(Cv);
}
正如您在图片中看到的那样,最后一行的数据太多,所以我希望我的回收站视图水平滚动,但它不起作用。
我试过将 HorizontalScrollView
设置为 recyclerView
的父级,但它也不起作用。它显示空白视图。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
tools:context="com.sunbed.reservation.ReservationMapFragment">
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/recyclerMaps"
app:layoutManager="LinearLayoutManager">
</android.support.v7.widget.RecyclerView>
这是我的主要布局。任何人都可以帮助我吗?
谢谢。
终于实现了。我已经删除了resyclerview。并使用了 Scrollview。我在滚动视图中动态添加了所有视图。这是我在其中添加了视图的父布局。
<ScrollView
android:id="@+id/scrollViewMap"
android:clipToPadding="false"
android:layout_width="wrap_content"
android:scrollbars="none"
android:layout_height="wrap_content">
<HorizontalScrollView
android:layout_width="wrap_content"
android:scrollbars="none"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/layoutMaps"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</HorizontalScrollView>
</ScrollView>
我知道,动态加载所有视图时加载视图需要时间。但现在我已经使用了这个解决方案。更好的答案总是被接受。
谢谢
我有一个 Vertical RecyclerView。我在其中添加了项目。它工作正常。现在我的问题是当任何单个项目将有这么多数据时,我希望我的整个 RecyclerView 水平滚动而不是那个单个项目。
这是我做的UI。
对于内部单元格,我在 Linearlayout 中动态添加视图。
for (int i = 0; i <subItem ; i++) {
View Cv= Li.inflate(R.layout.custom_cell, holder.ViewLayout, false);
TextView textBedInfo = (TextView) Cv.findViewById(R.id.textBedInfo);
TextView textRowInfo = (TextView) Cv.findViewById(R.id.textRowInfo);
textBedInfo.setTypeface(fontBold);
textRowInfo.setTypeface(fontRegular);
if(i==0 || i==subItem-1){
textBedInfo.setVisibility(View.GONE);
textRowInfo.setText((position+1)+" Row");
}
else{
textRowInfo.setVisibility(View.GONE);
ConstantMethod.setBorder(textBedInfo, Color.WHITE,R.drawable.circle);
textBedInfo.setText(String.valueOf(i));
}
holder.ViewLayout.addView(Cv);
}
正如您在图片中看到的那样,最后一行的数据太多,所以我希望我的回收站视图水平滚动,但它不起作用。
我试过将 HorizontalScrollView
设置为 recyclerView
的父级,但它也不起作用。它显示空白视图。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
tools:context="com.sunbed.reservation.ReservationMapFragment">
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/recyclerMaps"
app:layoutManager="LinearLayoutManager">
</android.support.v7.widget.RecyclerView>
这是我的主要布局。任何人都可以帮助我吗?
谢谢。
终于实现了。我已经删除了resyclerview。并使用了 Scrollview。我在滚动视图中动态添加了所有视图。这是我在其中添加了视图的父布局。
<ScrollView
android:id="@+id/scrollViewMap"
android:clipToPadding="false"
android:layout_width="wrap_content"
android:scrollbars="none"
android:layout_height="wrap_content">
<HorizontalScrollView
android:layout_width="wrap_content"
android:scrollbars="none"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/layoutMaps"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</HorizontalScrollView>
</ScrollView>
我知道,动态加载所有视图时加载视图需要时间。但现在我已经使用了这个解决方案。更好的答案总是被接受。 谢谢