垂直和水平滚动的Recyclerview

时间:2018-11-13 08:50:25

标签: android android-recyclerview

当前,我正在为电视制作应用布局,我面临的问题是我有一个recyclerview来显示用户的近期活动,在手机中,我已经垂直显示了近期的活动,但是在android电视中,我们有更大的宽度然后是高度,所以我想水平显示最近的活动,我尝试了很多解决方案,例如

<android.support.v7.widget.RecyclerView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        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()));

2 个答案:

答案 0 :(得分:1)

请勿在此处指定方向。而不是使用布局管理器来设置recyclerView的方向。

例如

LinearLayoutManager layoutManager
    = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

第一个参数是上下文,第二个是方向,第三个是reverseLayout。

您可以在此处更改方向。

答案 1 :(得分:0)

尝试替换此行

recent_activity_list.setLayoutManager(new LinearLayoutManager(getActivity()));

与此行

recent_activity_list.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));