类android.support.v7.widget.SnapHelper源码实例Demo

下面列出了怎么用android.support.v7.widget.SnapHelper的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: HorizontalPicker   文件: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    rv = (RecyclerView) findViewById(R.id.rv);

    PickerLayoutManager pickerLayoutManager = new PickerLayoutManager(this, PickerLayoutManager.HORIZONTAL, false);
    pickerLayoutManager.setChangeAlpha(true);
    pickerLayoutManager.setScaleDownBy(0.99f);
    pickerLayoutManager.setScaleDownDistance(0.8f);

    adapter = new PickerAdapter(this, getData(100), rv);
    SnapHelper snapHelper = new LinearSnapHelper();
    snapHelper.attachToRecyclerView(rv);
    rv.setLayoutManager(pickerLayoutManager);
    rv.setAdapter(adapter);

    pickerLayoutManager.setOnScrollStopListener(new PickerLayoutManager.onScrollStopListener() {
        @Override
        public void selectedView(View view) {
            Toast.makeText(MainActivity.this, ("Selected value : "+((TextView) view).getText().toString()), Toast.LENGTH_SHORT).show();
        }
    });
}
 
源代码2 项目: Capstone-Project   文件: PostDetailsActivity.java
private void setMediaRecyclerViewProperties() {
    // Set up the recycler view properties.
    // Create a horizontal layout manager for recycler view.
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext(),
            LinearLayoutManager.HORIZONTAL,
            false);
    recyclerViewMedia.setLayoutManager(layoutManager);

    // Add appropriate decorations to the recycler view items.
    recyclerViewMedia.addItemDecoration(new MediaItemDecorator(getApplicationContext(), 16));

    // Create adapter that will power this recycler view.
    mMediaRecyclerAdapter = new MediaRecyclerAdapter(null, this);
    recyclerViewMedia.setAdapter(mMediaRecyclerAdapter);

    // Add snaphelper that will snap the recycler view items at start.
    SnapHelper snapHelper = new StartSnapHelper();
    snapHelper.attachToRecyclerView(recyclerViewMedia);
}
 
源代码3 项目: SuntimesWidget   文件: SuntimesActivity.java
/**
 * initialize the card flipper and associated views
 * @param context a context used to access resources
 */
private void initCardViews(Context context)
{
    card_adapter = new CardAdapter(context);
    card_adapter.setCardAdapterListener(cardAdapterListener);

    card_view = (RecyclerView) findViewById(R.id.info_time_flipper1);
    card_view.setHasFixedSize(true);
    card_view.setItemViewCacheSize(7);
    card_view.setLayoutManager(card_layout = new CardLayoutManager(this));
    card_view.addItemDecoration(new CardAdapter.CardViewDecorator(this));

    card_view.setAdapter(card_adapter);
    card_view.scrollToPosition(CardAdapter.TODAY_POSITION);

    SnapHelper snapHelper = new PagerSnapHelper();
    snapHelper.attachToRecyclerView(card_view);
    card_scroller = new CardAdapter.CardViewScroller(context);
    card_view.setOnScrollListener(onCardScrollListener);
}
 
源代码4 项目: RecyclerPager   文件: FragmentPageSnapAdapter.java
@Override public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
    RecyclerView.OnFlingListener flingListener = recyclerView.getOnFlingListener();
    if (flingListener instanceof SnapHelper) {
        mSnapHelper = (SnapHelper) flingListener;
    }
    recyclerView.addOnScrollListener(mScrollListener);
}
 
源代码5 项目: Dagger2-Sample   文件: MainActivity.java
private void initialiseView() {
    binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

    moviesListAdapter = new MoviesListAdapter(this);
    binding.moviesList.setLayoutManager(new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.HORIZONTAL, false));
    binding.moviesList.setAdapter(moviesListAdapter);

    /* SnapHelper to change the background of the activity based on the list item
     * currently visible */
    SnapHelper startSnapHelper = new PagerSnapHelper(position -> {
        MovieEntity movie = moviesListAdapter.getItem(position);
        binding.overlayLayout.updateCurrentBackground(movie.getPosterPath());
    });
    startSnapHelper.attachToRecyclerView(binding.moviesList);
}
 
源代码6 项目: Villains-and-Heroes   文件: CharacterActivity.java
private void setupSectionView(RecyclerView recyclerView, @SectionVO.Type int type) {
    recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    recyclerView.setNestedScrollingEnabled(false);
    recyclerView.setHasFixedSize(true);
    SectionAdapter adapter = new SectionAdapter(this, type, this);
    recyclerView.setAdapter(adapter);
    SnapHelper snapHelper = new LinearSnapHelper();
    snapHelper.attachToRecyclerView(recyclerView);
}
 
源代码7 项目: SuntimesWidget   文件: EquinoxView.java
private void init(Context context, AttributeSet attrs)
{
    initLocale(context);
    themeViews(context);
    LayoutInflater.from(context).inflate(R.layout.layout_view_equinox, this, true);

    if (attrs != null)
    {
        LinearLayout.LayoutParams lp = generateLayoutParams(attrs);
        options.centered = ((lp.gravity == Gravity.CENTER) || (lp.gravity == Gravity.CENTER_HORIZONTAL));
    }

    empty = (TextView)findViewById(R.id.txt_empty);

    card_view = (RecyclerView)findViewById(R.id.info_equinoxsolstice_flipper1);
    card_view.setHasFixedSize(true);
    card_view.setItemViewCacheSize(7);
    card_view.setLayoutManager(card_layout = new CardLayoutManager(context));
    //card_view.addItemDecoration(new CardAdapter.CardViewDecorator(context));

    card_adapter = new EquinoxViewAdapter(context, options);
    card_adapter.setEquinoxViewListener(cardListener);
    card_view.setAdapter(card_adapter);
    card_view.scrollToPosition(EquinoxViewAdapter.CENTER_POSITION);

    SnapHelper snapHelper = new PagerSnapHelper();
    snapHelper.attachToRecyclerView(card_view);
    card_scroller = new CardAdapter.CardViewScroller(context);

    boolean minimized = isMinimized();
    if (!minimized) {
        card_view.setOnScrollListener(onCardScrollListener);
    }
    card_view.setLayoutFrozen(minimized);

    if (isInEditMode()) {
        updateViews(context);
    }
}
 
public RecyclerViewPageChangeListenerHelper(SnapHelper snapHelper, OnPageChangeListener onPageChangeListener) {
    this.snapHelper = snapHelper;
    this.onPageChangeListener = onPageChangeListener;
}
 
public RecyclerViewPageChangeListenerHelper(SnapHelper snapHelper, OnPageChangeListener onPageChangeListener) {
    this.snapHelper = snapHelper;
    this.onPageChangeListener = onPageChangeListener;
}
 
源代码10 项目: SimpleRecyclerView   文件: SimpleRecyclerView.java
public void enableSnappy(@NonNull SnapAlignment alignment) {
  SnapHelper snapHelper = alignment.equals(SnapAlignment.CENTER) ?
    new LinearSnapHelper() : new StartSnapHelper(spacing);
  snapHelper.attachToRecyclerView(this);
}
 
 同包方法