У меня есть ViewPager, с которым я хочу, чтобы на одном экране отображалось 4 экземпляра макета, и вы просматриваете следующий 4. Это означает, что мне нужно добавить 4 экземпляра макета на одну страницу, или мне нужно указать ViewPager прокручивать по 4 страницы за раз. Я хотел бы сделать это, не делая 4 копии макета в том же xml. Вот как я это сейчас обработки:4 макеты 1 страница в ViewPager
@Override
public Object instantiateItem(ViewGroup container, int position)
{
LinearLayout toReturn = new LinearLayout(getActivity());
toReturn.setOrientation(LinearLayout.HORIZONTAL);
for(int i = position; i < position + 4; i++)
{
View layout = getActivity().getLayoutInflater().inflate(R.layout.viewpager_fragment_layout, container, false);
toReturn.addView(layout);
}
container.addView(toReturn);
return toReturn;
}
Результат такой же, как если бы я добавление каждого макета к ViewPager 1 в то время, вместо того, чтобы сгруппировать их в единый макет. Он отображает 4 макета на экране за раз, но при прокрутке вы перемещаете только один макет за один раз.
Я уже есть. Наверное, я не уточнил. На экране уже есть 4 макета, но при прокрутке вы просматриваете только один макет за раз, а не желаемый 4. – KairisCharm
@KairisCharm: сколько страниц изменяется, зависит от того, насколько и как быстро вы салфетки. Если вы возьмете мой примерный проект и измените его, чтобы вернуть '0.25f', вы увидите, что если вы пронеслись с крайнего правого угла в крайнее левое положение, вы будете перемещать три или четыре страницы, в зависимости от скорости прокрутки. – CommonsWare
Но я никогда не хочу, чтобы он прокручивал только 1 за раз. Я хочу заставить его двигаться 4 за раз. Нет ли способа сделать это? – KairisCharm