具有垂直和水平滚动的 Recyclerview
Posted
技术标签:
【中文标题】具有垂直和水平滚动的 Recyclerview【英文标题】:Recyclerview with both vertical and horizontal scrolling 【发布时间】:2019-04-16 01:18:36 【问题描述】:目前我正在为电视制作我的应用程序布局,我面临的问题是我有一个 recyclerview 来显示用户最近的活动,在手机中我垂直显示了最近的活动,但在 android 电视中我们有更多的宽度然后高度,所以我想水平显示最近的活动我尝试了很多解决方案,比如
<android.support.v7.widget.RecyclerView
android:layout_
android:layout_
android:orientation="horizontal"
tools:orientation="horizontal" tools:layoutManager="android.support.v7.widget.LinearLayoutManager" />
但它仍然垂直显示我不知道为什么.. 我也尝试在 ScrollView 中添加 recyclerview 但仍然无法正常工作。也许我在 java 中声明了 LinearLayoutManager 这就是它以垂直格式显示的原因..
我正在夸大 reclerview 的片段的代码
View view=inflater.inflate(R.layout.recent_activity_tab1_recycler_view, container, false);
RecyclerView recent_activity_list = (RecyclerView) view.findViewById(R.id.recent_activity_list);
recent_activity_list.setLayoutManager(new LinearLayoutManager(getActivity()));
【问题讨论】:
【参考方案1】:不要在那里给出方向。而不是使用布局管理器来设置 recyclerView 的方向。
例如。
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
这里第一个参数是上下文,第二个是方向,第三个是reverseLayout。
你可以在那里改变方向。
【讨论】:
但是如果我在这里设置水平方向,那么我的手机会在水平方向显示 recyclerview,我希望它对手机响应垂直,对电视响应水平【参考方案2】:尝试替换这一行
recent_activity_list.setLayoutManager(new LinearLayoutManager(getActivity()));
用这条线
recent_activity_list.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
【讨论】:
也试过这个,但它也为手机设置了水平方向,我希望手机是垂直的,电视是水平的 因此您必须先检查设备是电视还是电话,然后使用其中一种布局[水平-垂直] 您可能会发现此答案有助于检查***.com/questions/27138838/…以上是关于具有垂直和水平滚动的 Recyclerview的主要内容,如果未能解决你的问题,请参考以下文章