如何在recyclerview中显示项目数量?

时间:2017-04-26 07:55:05

标签: android android-recyclerview display

在recyclerview中,我只想显示3个项目,

所以我用recyclerview设置宽度和高度,但是,

另一个测试设备显示3.2项目。

在主要活动中,

<android.support.v7.widget.RecyclerView
                        android:id="@+id/main_activity_recyclerview"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent">

                    </android.support.v7.widget.RecyclerView>

并在main_activity_recyclerviews视图中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" **android:layout_width="90dp"**
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    >

<TextView> ...


</LinearLayout>

在main_activity_recyclerviews视图中,我在A设备中更改宽度和测试,它只显示3个项目,但在B设备中测试,显示3.2项。

它看起来像设备显示尺寸。

如何显示指定大小的recyclerview项目?

----------------------更新------------------------ ---

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

            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_main,parent,false);

            view.getLayoutParams().height = changeX;

            return new MyViewHolder(view);
        }

oncreateviewholder

1 个答案:

答案 0 :(得分:0)

一种解决方案是将每个孩子的身高设置为有问题

view.getLayoutParams().height = getScreenHeight() / VIEWS_COUNT_TO_DISPLAY;

屏幕尺寸如下:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics).heightPixels;