【问题标题】:RecyclerView Horizontal Scrollview example How to create horizontal recyclerview ? Horizontal scrollview exampleRecyclerView Horizo​​ntal Scrollview 示例 如何创建水平 recyclerview ?水平滚动视图示例
【发布时间】:2018-09-12 19:23:07
【问题描述】:

如何使用回收器视图为 FeaturesRules 下的元素创建水平滚动?

我知道对于物业类型房间数量,我可以使用两个单独的回收站视图。但是,我是否需要创建两个回收器视图来显示这些元素,因为文本元素的长度会不均匀,并且如果添加更多规则和功能来满足不断扩大的项目列表?

【问题讨论】:

标签: android android-recyclerview horizontal-scrolling horizontalscrollview


【解决方案1】:

您可以通过这样做来创建水平滚动视图,即设置水平 布局管理器

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

示例代码

 <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerViewProperty"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp" />

在 Java 类中

 private RecyclerView recyclerViewProperty;


 recyclerViewProperty = (RecyclerView) view.findViewById(R.id.recyclerViewProperty);

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

公共类 TeamsAdapter 扩展 RecyclerView.Adapter {

ArrayList<TeamsListingModal> arrayList;
private Activity mContext;
private int selected_position;
private boolean isSelected = false;

public class MyView extends RecyclerView.ViewHolder {

    public TextView textview;
    private RelativeLayout parentLayout;


    public MyView(View view) {
        super(view);
        parentLayout = (RelativeLayout) view.findViewById(R.id.parentLayout);
        textview = (TextView) view.findViewById(R.id.textview);

    }
}


    public TeamsAdapter(Activity activity, ArrayList<CustomModal> arrayList) {
        this.mContext = activity;
        this.arrayList = arrayList;

    }

    @Override
    public MyView onCreateViewHolder(ViewGroup parent, int viewType) {

        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.property_adapter_item, parent, false);

        return new MyView(itemView);
    }

    @Override
    public void onBindViewHolder(final MyView holder, final int position) {
        //inflate views here

    }

    @Override
    public int getItemCount() {
        return arrayList.size();
    }

}

这里有xmlproperty_adapter_item

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/parentLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="5dp">

    <TextView
        android:id="@+id/textView"
        android:layout_width="70dp"
        android:layout_height="70dp"
        app:border_width="5dp" />
</RelativeLayout>

【讨论】:

    【解决方案2】:
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);
    recyclerView.setLayoutManager(linearLayoutManager);
    

    【讨论】:

    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常质量更高,更有可能吸引投票。
    【解决方案3】:
    In Kotlin Horizontal Scroolview in RecyclerView: - We use this Code 
     recycler_upcoming.layoutManager =
                LinearLayoutManager(sContext, LinearLayoutManager.HORIZONTAL, false)
            recycler_upcoming.adapter =
                InboxUpcomingAdapter(list, sContext)
    
    -> sContext mean Ur Context
    -> If you pass false then scroll right to left
    -> If You pass true then scroll left to right
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      相关资源
      最近更新 更多