RecyclerView: почему в альбомной ориентации элементы выходят за границу экрана?

Рейтинг: 2Ответов: 1Опубликовано: 03.02.2015

Возникла проблема при использовании RecyclerView. Когда меняется ориентации на альбомную, я выставляю число столбцов = 2. Но вот правый столбец вылезает за границу экрана. Не знаю даже в чем проблема может быть Holder создается вот так

 @Override
        public ViewHolder onCreateViewHolder(final ViewGroup parent, final int viewType)
        {
            final View view = inflater.inflate(R.layout.item, parent, false);
            return new ViewHolder(view);
        }

разметка itema

<FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        >
    ......
    </FrameLayout>

Тут инициализируется RecyclerView

recyclerView.setHasFixedSize(true);
    layoutManager = new StaggeredGridLayoutManager(getColumnCount(),  StaggeredGridLayoutManager.VERTICAL);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    adapter.setSelectionListener(this);
    recyclerView.setAdapter(adapter);

alt text

Ответы

▲ 1

Я думаю, что где-то внутри R.layout.item разметка так организована, что элементы не влезают в контейнер. Когда я использую RecyclerView, я сам считаю ширину вложенных элементов в зависимости от размеров экрана, полей и расстояний между элементами.