Search in sources :

Example 1 with MarginItemDecoration

use of com.hippo.easyrecyclerview.MarginItemDecoration in project EhViewer by seven332.

the class HistoryScene method onCreateView3.

@Nullable
@Override
public View onCreateView3(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.scene_history, container, false);
    View content = ViewUtils.$$(view, R.id.content);
    mRecyclerView = (EasyRecyclerView) ViewUtils.$$(content, R.id.recycler_view);
    FastScroller fastScroller = (FastScroller) ViewUtils.$$(content, R.id.fast_scroller);
    TextView tip = (TextView) ViewUtils.$$(view, R.id.tip);
    mViewTransition = new ViewTransition(content, tip);
    Context context = getContext2();
    Assert.assertNotNull(context);
    Resources resources = context.getResources();
    Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_history);
    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
    tip.setCompoundDrawables(null, drawable, null, null);
    RecyclerViewTouchActionGuardManager guardManager = new RecyclerViewTouchActionGuardManager();
    guardManager.setInterceptVerticalScrollingWhileAnimationRunning(true);
    guardManager.setEnabled(true);
    RecyclerViewSwipeManager swipeManager = new RecyclerViewSwipeManager();
    mAdapter = new HistoryAdapter();
    mAdapter.setHasStableIds(true);
    mAdapter = swipeManager.createWrappedAdapter(mAdapter);
    mRecyclerView.setAdapter(mAdapter);
    final GeneralItemAnimator animator = new SwipeDismissItemAnimator();
    animator.setSupportsChangeAnimations(false);
    mRecyclerView.setItemAnimator(animator);
    AutoStaggeredGridLayoutManager layoutManager = new AutoStaggeredGridLayoutManager(0, StaggeredGridLayoutManager.VERTICAL);
    layoutManager.setColumnSize(resources.getDimensionPixelOffset(Settings.getDetailSizeResId()));
    layoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE);
    mRecyclerView.setLayoutManager(layoutManager);
    mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, false));
    mRecyclerView.setDrawSelectorOnTop(true);
    mRecyclerView.hasFixedSize();
    mRecyclerView.setClipToPadding(false);
    mRecyclerView.setOnItemClickListener(this);
    mRecyclerView.setOnItemLongClickListener(this);
    int interval = resources.getDimensionPixelOffset(R.dimen.gallery_list_interval);
    int paddingH = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_h);
    int paddingV = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_v);
    MarginItemDecoration decoration = new MarginItemDecoration(interval, paddingH, paddingV, paddingH, paddingV);
    mRecyclerView.addItemDecoration(decoration);
    decoration.applyPaddings(mRecyclerView);
    guardManager.attachRecyclerView(mRecyclerView);
    swipeManager.attachRecyclerView(mRecyclerView);
    fastScroller.attachToRecyclerView(mRecyclerView);
    HandlerDrawable handlerDrawable = new HandlerDrawable();
    handlerDrawable.setColor(ResourcesUtils.getAttrColor(context, R.attr.colorAccent));
    fastScroller.setHandlerDrawable(handlerDrawable);
    updateLazyList();
    updateView(false);
    return view;
}
Also used : Context(android.content.Context) RecyclerViewSwipeManager(com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager) ViewTransition(com.hippo.view.ViewTransition) HandlerDrawable(com.hippo.easyrecyclerview.HandlerDrawable) Drawable(android.graphics.drawable.Drawable) FastScroller(com.hippo.easyrecyclerview.FastScroller) MarginItemDecoration(com.hippo.easyrecyclerview.MarginItemDecoration) SwipeDismissItemAnimator(com.h6ah4i.android.widget.advrecyclerview.animator.SwipeDismissItemAnimator) EasyRecyclerView(com.hippo.easyrecyclerview.EasyRecyclerView) View(android.view.View) SimpleRatingView(com.hippo.ehviewer.widget.SimpleRatingView) LoadImageView(com.hippo.widget.LoadImageView) TextView(android.widget.TextView) RecyclerView(android.support.v7.widget.RecyclerView) AutoStaggeredGridLayoutManager(com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager) RecyclerViewTouchActionGuardManager(com.h6ah4i.android.widget.advrecyclerview.touchguard.RecyclerViewTouchActionGuardManager) TextView(android.widget.TextView) Resources(android.content.res.Resources) GeneralItemAnimator(com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator) HandlerDrawable(com.hippo.easyrecyclerview.HandlerDrawable) Nullable(android.support.annotation.Nullable)

Example 2 with MarginItemDecoration

use of com.hippo.easyrecyclerview.MarginItemDecoration in project EhViewer by seven332.

the class SearchLayout method init.

@SuppressLint("InflateParams")
private void init(Context context) {
    Resources resources = context.getResources();
    mInflater = LayoutInflater.from(context);
    mLayoutManager = new LinearLayoutManager(context);
    mAdapter = new SearchAdapter();
    setLayoutManager(mLayoutManager);
    setAdapter(mAdapter);
    setHasFixedSize(true);
    setClipToPadding(false);
    int interval = resources.getDimensionPixelOffset(R.dimen.search_layout_interval);
    int paddingH = resources.getDimensionPixelOffset(R.dimen.search_layout_margin_h);
    int paddingV = resources.getDimensionPixelOffset(R.dimen.search_layout_margin_v);
    MarginItemDecoration decoration = new MarginItemDecoration(interval, paddingH, paddingV, paddingH, paddingV);
    addItemDecoration(decoration);
    decoration.applyPaddings(this);
    // Create normal view
    View normalView = mInflater.inflate(R.layout.search_normal, null);
    mNormalView = normalView;
    mCategoryTable = (CategoryTable) normalView.findViewById(R.id.search_category_table);
    mNormalSearchMode = (RadioGridGroup) normalView.findViewById(R.id.normal_search_mode);
    mNormalSearchModeHelp = (ImageView) normalView.findViewById(R.id.normal_search_mode_help);
    mEnableAdvanceSwitch = (SwitchCompat) normalView.findViewById(R.id.search_enable_advance);
    mNormalSearchModeHelp.setOnClickListener(this);
    Ripple.addRipple(mNormalSearchModeHelp, false);
    mEnableAdvanceSwitch.setOnCheckedChangeListener(SearchLayout.this);
    mEnableAdvanceSwitch.setSwitchPadding(resources.getDimensionPixelSize(R.dimen.switch_padding));
    // Create advance view
    mAdvanceView = mInflater.inflate(R.layout.search_advance, null);
    mTableAdvanceSearch = (AdvanceSearchTable) mAdvanceView.findViewById(R.id.search_advance_search_table);
    // Create image view
    mImageView = (ImageSearchLayout) mInflater.inflate(R.layout.search_image, null);
    mImageView.setHelper(this);
    // Create action view
    mActionView = mInflater.inflate(R.layout.search_action, null);
    mAction = (TextView) mActionView.findViewById(R.id.action);
    mAction.setOnClickListener(this);
}
Also used : Resources(android.content.res.Resources) MarginItemDecoration(com.hippo.easyrecyclerview.MarginItemDecoration) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ImageView(android.widget.ImageView) EasyRecyclerView(com.hippo.easyrecyclerview.EasyRecyclerView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) SuppressLint(android.annotation.SuppressLint) SuppressLint(android.annotation.SuppressLint)

Example 3 with MarginItemDecoration

use of com.hippo.easyrecyclerview.MarginItemDecoration in project EhViewer by seven332.

the class DownloadsScene method onCreateView3.

@Nullable
@Override
public View onCreateView3(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.scene_download, container, false);
    View content = ViewUtils.$$(view, R.id.content);
    mRecyclerView = (EasyRecyclerView) ViewUtils.$$(content, R.id.recycler_view);
    FastScroller fastScroller = (FastScroller) ViewUtils.$$(content, R.id.fast_scroller);
    mFabLayout = (FabLayout) ViewUtils.$$(view, R.id.fab_layout);
    TextView tip = (TextView) ViewUtils.$$(view, R.id.tip);
    mViewTransition = new ViewTransition(content, tip);
    Context context = getContext2();
    Assert.assertNotNull(content);
    Resources resources = context.getResources();
    Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_download);
    drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
    tip.setCompoundDrawables(null, drawable, null, null);
    mAdapter = new DownloadAdapter();
    mAdapter.setHasStableIds(true);
    mRecyclerView.setAdapter(mAdapter);
    mLayoutManager = new AutoStaggeredGridLayoutManager(0, StaggeredGridLayoutManager.VERTICAL);
    mLayoutManager.setColumnSize(resources.getDimensionPixelOffset(Settings.getDetailSizeResId()));
    mLayoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE);
    mRecyclerView.setLayoutManager(mLayoutManager);
    mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, false));
    mRecyclerView.setDrawSelectorOnTop(true);
    mRecyclerView.hasFixedSize();
    mRecyclerView.setClipToPadding(false);
    mRecyclerView.setOnItemClickListener(this);
    mRecyclerView.setOnItemLongClickListener(this);
    mRecyclerView.setChoiceMode(EasyRecyclerView.CHOICE_MODE_MULTIPLE_CUSTOM);
    mRecyclerView.setCustomCheckedListener(new DownloadChoiceListener());
    // Cancel change animation
    RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator();
    if (itemAnimator instanceof SimpleItemAnimator) {
        ((SimpleItemAnimator) itemAnimator).setSupportsChangeAnimations(false);
    }
    int interval = resources.getDimensionPixelOffset(R.dimen.gallery_list_interval);
    int paddingH = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_h);
    int paddingV = resources.getDimensionPixelOffset(R.dimen.gallery_list_margin_v);
    MarginItemDecoration decoration = new MarginItemDecoration(interval, paddingH, paddingV, paddingH, paddingV);
    mRecyclerView.addItemDecoration(decoration);
    decoration.applyPaddings(mRecyclerView);
    if (mInitPosition >= 0) {
        mRecyclerView.scrollToPosition(mInitPosition);
        mInitPosition = -1;
    }
    fastScroller.attachToRecyclerView(mRecyclerView);
    HandlerDrawable handlerDrawable = new HandlerDrawable();
    handlerDrawable.setColor(ResourcesUtils.getAttrColor(context, R.attr.colorAccent));
    fastScroller.setHandlerDrawable(handlerDrawable);
    fastScroller.setOnDragHandlerListener(this);
    mFabLayout.setExpanded(false, false);
    mFabLayout.setHidePrimaryFab(true);
    mFabLayout.setAutoCancel(false);
    mFabLayout.setOnClickFabListener(this);
    addAboveSnackView(mFabLayout);
    updateView();
    guide();
    return view;
}
Also used : Context(android.content.Context) SimpleItemAnimator(android.support.v7.widget.SimpleItemAnimator) ViewTransition(com.hippo.view.ViewTransition) HandlerDrawable(com.hippo.easyrecyclerview.HandlerDrawable) Drawable(android.graphics.drawable.Drawable) FastScroller(com.hippo.easyrecyclerview.FastScroller) MarginItemDecoration(com.hippo.easyrecyclerview.MarginItemDecoration) EasyRecyclerView(com.hippo.easyrecyclerview.EasyRecyclerView) ShowcaseView(com.github.amlcurran.showcaseview.ShowcaseView) View(android.view.View) AdapterView(android.widget.AdapterView) SimpleRatingView(com.hippo.ehviewer.widget.SimpleRatingView) LoadImageView(com.hippo.widget.LoadImageView) TextView(android.widget.TextView) ListView(android.widget.ListView) RecyclerView(android.support.v7.widget.RecyclerView) SuppressLint(android.annotation.SuppressLint) Point(android.graphics.Point) AutoStaggeredGridLayoutManager(com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager) TextView(android.widget.TextView) EasyRecyclerView(com.hippo.easyrecyclerview.EasyRecyclerView) RecyclerView(android.support.v7.widget.RecyclerView) Resources(android.content.res.Resources) HandlerDrawable(com.hippo.easyrecyclerview.HandlerDrawable) Nullable(android.support.annotation.Nullable)

Example 4 with MarginItemDecoration

use of com.hippo.easyrecyclerview.MarginItemDecoration in project EhViewer by seven332.

the class GalleryAdapter method setType.

public void setType(int type) {
    if (type == mType) {
        return;
    }
    mType = type;
    RecyclerView recyclerView = mRecyclerView;
    switch(type) {
        default:
        case GalleryAdapter.TYPE_LIST:
            {
                int columnWidth = mResources.getDimensionPixelOffset(Settings.getDetailSizeResId());
                mLayoutManager.setColumnSize(columnWidth);
                mLayoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_MIN_SIZE);
                if (null != mGirdDecoration) {
                    recyclerView.removeItemDecoration(mGirdDecoration);
                }
                if (null == mListDecoration) {
                    int interval = mResources.getDimensionPixelOffset(R.dimen.gallery_list_interval);
                    int paddingH = mResources.getDimensionPixelOffset(R.dimen.gallery_list_margin_h);
                    int paddingV = mResources.getDimensionPixelOffset(R.dimen.gallery_list_margin_v);
                    mListDecoration = new MarginItemDecoration(interval, paddingH, paddingV, paddingH, paddingV);
                }
                recyclerView.addItemDecoration(mListDecoration);
                mListDecoration.applyPaddings(recyclerView);
                adjustPaddings();
                notifyDataSetChanged();
                break;
            }
        case GalleryAdapter.TYPE_GRID:
            {
                int columnWidth = mResources.getDimensionPixelOffset(Settings.getThumbSizeResId());
                mLayoutManager.setColumnSize(columnWidth);
                mLayoutManager.setStrategy(AutoStaggeredGridLayoutManager.STRATEGY_SUITABLE_SIZE);
                if (null != mListDecoration) {
                    recyclerView.removeItemDecoration(mListDecoration);
                }
                if (null == mGirdDecoration) {
                    int interval = mResources.getDimensionPixelOffset(R.dimen.gallery_grid_interval);
                    int paddingH = mResources.getDimensionPixelOffset(R.dimen.gallery_grid_margin_h);
                    int paddingV = mResources.getDimensionPixelOffset(R.dimen.gallery_grid_margin_v);
                    mGirdDecoration = new MarginItemDecoration(interval, paddingH, paddingV, paddingH, paddingV);
                }
                recyclerView.addItemDecoration(mGirdDecoration);
                mGirdDecoration.applyPaddings(recyclerView);
                adjustPaddings();
                notifyDataSetChanged();
                break;
            }
    }
}
Also used : RecyclerView(android.support.v7.widget.RecyclerView) MarginItemDecoration(com.hippo.easyrecyclerview.MarginItemDecoration)

Example 5 with MarginItemDecoration

use of com.hippo.easyrecyclerview.MarginItemDecoration in project EhViewer by seven332.

the class GalleryPreviewsScene method onCreateView3.

@Nullable
@Override
public View onCreateView3(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    ContentLayout contentLayout = (ContentLayout) inflater.inflate(R.layout.scene_gallery_previews, container, false);
    contentLayout.hideFastScroll();
    mRecyclerView = contentLayout.getRecyclerView();
    Context context = getContext2();
    Assert.assertNotNull(context);
    Resources resources = context.getResources();
    mAdapter = new GalleryPreviewAdapter();
    mRecyclerView.setAdapter(mAdapter);
    int columnWidth = resources.getDimensionPixelOffset(Settings.getThumbSizeResId());
    AutoGridLayoutManager layoutManager = new AutoGridLayoutManager(context, columnWidth);
    layoutManager.setStrategy(AutoGridLayoutManager.STRATEGY_SUITABLE_SIZE);
    mRecyclerView.setLayoutManager(layoutManager);
    mRecyclerView.setClipToPadding(false);
    mRecyclerView.setOnItemClickListener(this);
    int padding = LayoutUtils.dp2pix(context, 4);
    MarginItemDecoration decoration = new MarginItemDecoration(padding, padding, padding, padding, padding);
    mRecyclerView.addItemDecoration(decoration);
    decoration.applyPaddings(mRecyclerView);
    mHelper = new GalleryPreviewHelper();
    contentLayout.setHelper(mHelper);
    // Only refresh for the first time
    if (!mHasFirstRefresh) {
        mHasFirstRefresh = true;
        mHelper.firstRefresh();
    }
    return contentLayout;
}
Also used : Context(android.content.Context) ContentLayout(com.hippo.widget.ContentLayout) AutoGridLayoutManager(com.hippo.widget.recyclerview.AutoGridLayoutManager) Resources(android.content.res.Resources) MarginItemDecoration(com.hippo.easyrecyclerview.MarginItemDecoration) SuppressLint(android.annotation.SuppressLint) Nullable(android.support.annotation.Nullable)

Aggregations

MarginItemDecoration (com.hippo.easyrecyclerview.MarginItemDecoration)5 Resources (android.content.res.Resources)4 RecyclerView (android.support.v7.widget.RecyclerView)4 SuppressLint (android.annotation.SuppressLint)3 Context (android.content.Context)3 Nullable (android.support.annotation.Nullable)3 View (android.view.View)3 TextView (android.widget.TextView)3 EasyRecyclerView (com.hippo.easyrecyclerview.EasyRecyclerView)3 Drawable (android.graphics.drawable.Drawable)2 FastScroller (com.hippo.easyrecyclerview.FastScroller)2 HandlerDrawable (com.hippo.easyrecyclerview.HandlerDrawable)2 SimpleRatingView (com.hippo.ehviewer.widget.SimpleRatingView)2 ViewTransition (com.hippo.view.ViewTransition)2 LoadImageView (com.hippo.widget.LoadImageView)2 AutoStaggeredGridLayoutManager (com.hippo.widget.recyclerview.AutoStaggeredGridLayoutManager)2 Point (android.graphics.Point)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 SimpleItemAnimator (android.support.v7.widget.SimpleItemAnimator)1 AdapterView (android.widget.AdapterView)1