android.support.v7.widget.PagerSnapHelper的实例源码

项目:qmui    文件:QDSnapHelperFragment.java   
@Override
protected View onCreateView() {
    View root = LayoutInflater.from(getContext()).inflate(R.layout.fragment_pagerlayoutmanager,null);
    ButterKnife.bind(this,root);

    mQDItemDescription = QDDataManager.getInstance().getDescription(this.getClass());
    initTopBar();

    mRecyclerView = new RecyclerView(getContext());
    mPagerLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false);
    mRecyclerView.setLayoutManager(mPagerLayoutManager);
    mRecyclerViewAdapter = new QDRecyclerViewAdapter();
    mRecyclerViewAdapter.setItemCount(10);
    mRecyclerView.setAdapter(mRecyclerViewAdapter);
    mPagerWrap.addView(mRecyclerView);
    // PagerSnapHelper每次只能滚动一个item;用LinearSnapHelper则可以一次滚动多个,并最终保证定位
    // mSnapHelper = new LinearSnapHelper();
    mSnapHelper = new PagerSnapHelper();
    mSnapHelper.attachToRecyclerView(mRecyclerView);
    return root;
}
项目:QMUI_Android    文件:QDSnapHelperFragment.java   
@Override
protected View onCreateView() {
    View root = LayoutInflater.from(getContext()).inflate(R.layout.fragment_pagerlayoutmanager,false);
    mRecyclerView.setLayoutManager(mPagerLayoutManager);
    mRecyclerViewAdapter = new QDRecyclerViewAdapter();
    mRecyclerViewAdapter.setItemCount(10);
    mRecyclerView.setAdapter(mRecyclerViewAdapter);
    mPagerWrap.addView(mRecyclerView);
    // PagerSnapHelper每次只能滚动一个item;用LinearSnapHelper则可以一次滚动多个,并最终保证定位
    // mSnapHelper = new LinearSnapHelper();
    mSnapHelper = new PagerSnapHelper();
    mSnapHelper.attachToRecyclerView(mRecyclerView);
    return root;
}
项目:mobile-buy-sdk-android    文件:ImageGalleryView.java   
private void initPagerView() {
  pagerView.setLayoutManager(new LinearLayoutManager(getContext(),false));
  pagerView.setHasFixedSize(true);
  pagerView.setAdapter(pagerAdapter);
  new PagerSnapHelper().attachToRecyclerView(pagerView);

  pagerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override public void onScrolled(final RecyclerView recyclerView,final int dx,final int dy) {
      int index = ((LinearLayoutManager) pagerView.getLayoutManager()).findFirstVisibleItemPosition();
      View pagerItemView = ImageGalleryView.this.pagerView.getLayoutManager().findViewByPosition(index);

      index = ((LinearLayoutManager) pagerIndicatorView.getLayoutManager()).findFirstVisibleItemPosition();
      View pagerIndicatorItemView = pagerIndicatorView.getLayoutManager().findViewByPosition(index);

      float offset = 1f * dx / (pagerView.getAdapter().getItemCount() * pagerItemView.getWidth());
      pagerIndicatorFrameView.setTranslationX(pagerIndicatorFrameView.getTranslationX()
        + offset * pagerIndicatorItemView.getWidth() * pagerIndicatorView.getAdapter().getItemCount());
    }
  });
}
项目:recyclerviewItemDecorations    文件:ViewPagerActivity.java   
@Override
public void onCreateRecyclerView(Bundle savedInstanceState) {
  int backgroundColor = 0xFF665F30;
  Context context = this;
  recyclerView.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
  recyclerView.setBackgroundColor(backgroundColor);

  SimpleViewAdapter adapter = new SimpleViewAdapter(5,R.layout.item_view_pager_page);

  recyclerView.setAdapter(adapter);
  recyclerView.setLayoutManager(new LinearLayoutManager(context,false));

  // add pager behavior
  PagerSnapHelper snapHelper = new PagerSnapHelper();
  snapHelper.attachToRecyclerView(recyclerView);

  // pager indicator
  recyclerView.addItemDecoration(new LinePagerIndicatorDecoration());

}
项目:ExpandRecyclerView    文件:RecyclerViewStyleHelper.java   
/**
 * transform to ViewPager
 *
 * @param recyclerView {@link RecyclerView}
 * @param orientation  the orientation of Linearlayout
 */
public static void toViewPager(RecyclerView recyclerView,@LinearLayoutCompat.OrientationMode int orientation) {
    recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext(),orientation,false));
    new PagerSnapHelper().attachToRecyclerView(recyclerView);
}
项目:recyclviewpagger    文件:MetalRecyclerViewPager.java   
private void init(Context context,@Nullable AttributeSet attrs) {
    if (attrs != null) {
        TypedArray typedArray = context.obtainStyledAttributes(attrs,R.styleable.MetalRecyclerViewPager,0);
        itemMargin = (int) typedArray.getDimension(R.styleable.MetalRecyclerViewPager_itemMargin,0f);
        typedArray.recycle();
    }

    setLayoutManager(new LinearLayoutManager(context,false));
    SnapHelper snapHelper = new PagerSnapHelper();
    snapHelper.attachToRecyclerView(this);
}
项目:recycler-view-pager    文件:RecyclerViewPager.java   
public RecyclerViewPager(Context context,@Nullable AttributeSet attrs,int defStyle) {
    super(context,attrs,defStyle);

    mLayoutManager = new LinearLayoutManager(context,false);
    setLayoutManager(mLayoutManager);
    new PagerSnapHelper().attachToRecyclerView(this);

    final float density = context.getResources().getDisplayMetrics().density;
    mDefaultGutterSize = (int) (DEFAULT_GUTTER_SIZE * density);

    mTouchSlop = ViewConfiguration.get(context).getScaledPagingTouchSlop();
}
项目:MetalRecyclerPagerView    文件:MetalRecyclerViewPager.java   
private void init(Context context,false));
    SnapHelper snapHelper = new PagerSnapHelper();
    snapHelper.attachToRecyclerView(this);
}
项目:RetroMusicPlayer    文件:MetalRecyclerViewPager.java   
private void init(Context context,false));
    SnapHelper snapHelper = new PagerSnapHelper();
    snapHelper.attachToRecyclerView(this);
}
项目:Recyclerview-Gallery    文件:ScrollManager.java   
/**
 * 初始化SnapHelper
 *
 * @param helper
 */
public void initSnapHelper(int helper) {
    switch (helper) {
        case GalleryRecyclerView.LinearySnapHelper:
            mLinearySnapHelper = new LinearSnapHelper();
            mLinearySnapHelper.attachToRecyclerView(mGalleryRecyclerView);
            break;
        case GalleryRecyclerView.PagerSnapHelper:
            mPagerSnapHelper = new PagerSnapHelper();
            mPagerSnapHelper.attachToRecyclerView(mGalleryRecyclerView);
            break;
    }
}
项目:MangoBloggerAndroidApp    文件:HomeBaseAdapter.java   
@Override
public void onBindViewHolder(final ViewHolder holder,int position) {
    HomeGroup snap = mSnaps.get(position);
    holder.snapTextView.setText(snap.getText());

    if (snap.getGravity() == Gravity.START || snap.getGravity() == Gravity.END) {
        holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder
                .recyclerView.getContext(),false));
        holder.recyclerView.setOnFlingListener(null);
        new GravitySnapHelper(snap.getGravity(),false,this).attachToRecyclerView(holder.recyclerView);
    } else if (snap.getGravity() == Gravity.CENTER_HORIZONTAL) {
        holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder
                .recyclerView.getContext(),snap.getGravity() == Gravity.CENTER_HORIZONTAL ?
                LinearLayoutManager.HORIZONTAL : LinearLayoutManager.VERTICAL,false));
        holder.recyclerView.setOnFlingListener(null);
        new LinearSnapHelper().attachToRecyclerView(holder.recyclerView);
    } else if (snap.getGravity() == Gravity.CENTER) { // Pager snap
        holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder
                .recyclerView.getContext(),false));
        holder.recyclerView.setOnFlingListener(null);
        new PagerSnapHelper().attachToRecyclerView(holder.recyclerView);
    } else { // Top / Bottom
        holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder
                .recyclerView.getContext()));
        holder.recyclerView.setOnFlingListener(null);
        new GravitySnapHelper(snap.getGravity()).attachToRecyclerView(holder.recyclerView);
    }

    HomeItemAdapter itemAdapter = new HomeItemAdapter(mContext,snap.getCardSize(),snap.getApps());
    holder.recyclerView.setAdapter(itemAdapter);
    itemAdapter.setOnItemClickListener(new HomeItemAdapter.OnItemClickListener() {
        @Override
        public void itemClick(HomeItem item,int Position) {
            if(mContext instanceof HomeActivity) {
                if(item.isWebView()) {
                    ((HomeActivity) mContext).attachFragment(WebFragment.newInstance(item.getUrl(),item.getName()),true);
                } else {
                    ((HomeActivity) mContext).attachFragment(FirebaseListFragment.newInstance(item.getUrl(),item.getExtra()),true);
                }
            }
        }
    });

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


com.google.gson.internal.bind.ArrayTypeAdapter的实例源码
com.google.gson.JsonSyntaxException的实例源码
com.google.gson.JsonDeserializer的实例源码
com.google.gson.internal.ConstructorConstructor的实例源码
com.google.gson.JsonPrimitive的实例源码
com.google.gson.LongSerializationPolicy的实例源码
com.google.gson.internal.GsonInternalAccess的实例源码
com.google.gson.JsonIOException的实例源码
com.google.gson.internal.StringMap的实例源码
com.google.gson.JsonObject的实例源码
com.google.gson.internal.bind.TimeTypeAdapter的实例源码
com.google.gson.FieldAttributes的实例源码
com.google.gson.internal.bind.TreeTypeAdapter的实例源码
com.google.gson.internal.LinkedHashTreeMap的实例源码
com.google.gson.TypeAdapterFactory的实例源码
com.google.gson.JsonSerializer的实例源码
com.google.gson.FieldNamingPolicy的实例源码
com.google.gson.JsonElement的实例源码
com.google.gson.internal.JsonReaderInternalAccess的实例源码
com.google.gson.TypeAdapter的实例源码