一次查看包含3个项目的寻呼机

时间:2017-12-21 12:01:18

标签: android android-layout android-viewpager

我正在努力实现游戏商店Playstore

中的某些功能

视图中的所有应用一次显示3个应用,第4个是预览。当向左滑动时,应用程序将移动并放置在相应的位置,使视图更酷。

请帮助我实现这个观点。

public class PageAdapter extends PagerAdapter {

View itemView;
Context context;
LayoutInflater inflater;
ArrayList<String> arrayList = new ArrayList<>();

public PageAdapter(Context context, ArrayList<String> arrayList) {
    this.context = context;
    this.arrayList = arrayList;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    if (inflater == null)
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.item_page, container, false);
    TextView textView = view.findViewById(R.id.text_item);
    Log.i("Position>>>>>>>> ", "" + position);
    textView.setText(arrayList.get(position));
    container.addView(view);
    return view;
}


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


@Override
public boolean isViewFromObject(View view, Object object) {

    return view == object;
}

@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
    collection.removeView((View) view);
}

View getLayoutView() {
    if (itemView != null)
        return itemView;
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    itemView = inflater.inflate(R.layout.item_page, null);
    return itemView;
}

}

2 个答案:

答案 0 :(得分:1)

它似乎不是一个视图寻呼机。它是使用水平布局管理器的循环视图。查看寻呼机不是构建的,而是用于显示此类内容。如果您看到顶部的标签栏显示类别,即包括(带有视图寻呼机的标签布局管理器)或tablayout showcase viewpager下面的crouser以及pagertransformation的实现。因此,如果您想要实现它,您可以使用循环视图而不是使用视图寻呼机轻松实现它。

答案 1 :(得分:1)

如果您正在寻找:RecyclerViewSnap

Snap to Start Effect

整合的步骤:

dependencies

中添加此行
  

实施&#39; com.github.rubensousa:gravitysnaphelper:1.5&#39;

然后只需要这段代码:

recyclerView.setLayoutManager(new LinearLayoutManager(this,
                LinearLayoutManager.HORIZONTAL, false));
SnapHelper snapHelperStart = new GravitySnapHelper(Gravity.START);
snapHelperStart.attachToRecyclerView(startRecyclerView);

要了解有关此快照效果的详情,请查看此Snap to center效果

PS:它适用于RecyclerView而不是ViewPager。