Search in sources :

Example 31 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project apps-android-wikipedia by wikimedia.

the class FeedView method setCallback.

public void setCallback(@Nullable ItemTouchHelperSwipeAdapter.Callback callback) {
    if (itemTouchHelper != null) {
        itemTouchHelper.attachToRecyclerView(new DummyView(getContext()));
        itemTouchHelper = null;
    }
    if (callback != null) {
        itemTouchHelper = new ItemTouchHelper(new ItemTouchHelperSwipeAdapter(callback));
        itemTouchHelper.attachToRecyclerView(this);
    }
}
Also used : ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) ItemTouchHelperSwipeAdapter(org.wikipedia.views.ItemTouchHelperSwipeAdapter)

Example 32 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project TrekAdvisor by peterLaurence.

the class TracksManageFragment method generateTracks.

private void generateTracks(Map map) {
    Context ctx = getContext();
    RecyclerView recyclerView = new RecyclerView(ctx);
    recyclerView.setHasFixedSize(false);
    /* All cards are laid out vertically */
    LinearLayoutManager llm = new LinearLayoutManager(ctx);
    recyclerView.setLayoutManager(llm);
    /* Apply item decoration (add an horizontal divider) */
    DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(ctx, DividerItemDecoration.VERTICAL);
    Drawable divider = this.getContext().getDrawable(R.drawable.divider);
    if (divider != null) {
        dividerItemDecoration.setDrawable(divider);
    }
    recyclerView.addItemDecoration(dividerItemDecoration);
    mTrackAdapter = new TrackAdapter(map, this, ctx.getColor(R.color.colorAccent), ctx.getColor(R.color.colorPrimaryTextWhite), ctx.getColor(R.color.colorPrimaryTextBlack));
    recyclerView.setAdapter(mTrackAdapter);
    /* Swipe to dismiss functionality */
    ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
            /* Remove the track from the list and from the map */
            mTrackAdapter.removeItem(viewHolder.getAdapterPosition());
            /* Update the view */
            if (mTrackChangeListener != null) {
                mTrackChangeListener.onTrackVisibilityChanged();
            }
            /* Save */
            saveChanges();
        }
    };
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    rootView.addView(recyclerView, 0);
}
Also used : Context(android.content.Context) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) Drawable(android.graphics.drawable.Drawable) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) DividerItemDecoration(android.support.v7.widget.DividerItemDecoration)

Example 33 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project JustAndroid by chinaltz.

the class StaggeredActivity method setListener.

private void setListener() {
    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

        @Override
        public void onRefresh() {
            page = 1;
            new GetData().execute("http://gank.io/api/data/福利/10/1");
        }
    });
    itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.Callback() {

        @Override
        public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
            int dragFlags = 0;
            if (recyclerView.getLayoutManager() instanceof StaggeredGridLayoutManager) {
                dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT;
            }
            return makeMovementFlags(dragFlags, 0);
        }

        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
            int from = viewHolder.getAdapterPosition();
            int to = target.getAdapterPosition();
            StaggeredType moveItem = staggeredTypes.get(from);
            staggeredTypes.remove(from);
            staggeredTypes.add(to, moveItem);
            mAdapter.notifyItemMoved(from, to);
            return true;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
        }

        @Override
        public boolean isLongPressDragEnabled() {
            return false;
        }
    });
    recyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() {

        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            //                0:当前屏幕停止滚动;1时:屏幕在滚动 且 用户仍在触碰或手指还在屏幕上;2时:随用户的操作,屏幕上产生的惯性滑动;
            if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 2 >= mLayoutManager.getItemCount()) {
                new GetData().execute("http://gank.io/api/data/福利/10/" + (++page));
            }
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            int[] positions = mLayoutManager.findLastVisibleItemPositions(null);
            lastVisibleItem = Math.max(positions[0], positions[1]);
        }
    });
}
Also used : ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) StaggeredType(com.litingzhe.justandroid.ui.listandGridView.model.StaggeredType) RecyclerView(android.support.v7.widget.RecyclerView) StaggeredGridLayoutManager(android.support.v7.widget.StaggeredGridLayoutManager) SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout)

Example 34 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project android_frameworks_base by crdroidandroid.

the class NavBarTuner method onViewCreated.

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    RecyclerView recyclerView = (RecyclerView) view.findViewById(android.R.id.list);
    final Context context = getContext();
    recyclerView.setLayoutManager(new LinearLayoutManager(context));
    mNavBarAdapter = new NavBarAdapter(context);
    recyclerView.setAdapter(mNavBarAdapter);
    recyclerView.addItemDecoration(new Dividers(context));
    final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mNavBarAdapter.mCallbacks);
    mNavBarAdapter.setTouchHelper(itemTouchHelper);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    TunerService.get(getContext()).addTunable(this, NAV_BAR_VIEWS);
}
Also used : Context(android.content.Context) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Example 35 with ItemTouchHelper

use of android.support.v7.widget.helper.ItemTouchHelper in project android_frameworks_base by AOSPA.

the class NavBarTuner method onViewCreated.

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    RecyclerView recyclerView = (RecyclerView) view.findViewById(android.R.id.list);
    final Context context = getContext();
    recyclerView.setLayoutManager(new LinearLayoutManager(context));
    mNavBarAdapter = new NavBarAdapter(context);
    recyclerView.setAdapter(mNavBarAdapter);
    recyclerView.addItemDecoration(new Dividers(context));
    final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mNavBarAdapter.mCallbacks);
    mNavBarAdapter.setTouchHelper(itemTouchHelper);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    TunerService.get(getContext()).addTunable(this, NAV_BAR_VIEWS);
}
Also used : Context(android.content.Context) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) RecyclerView(android.support.v7.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Aggregations

ItemTouchHelper (android.support.v7.widget.helper.ItemTouchHelper)124 RecyclerView (android.support.v7.widget.RecyclerView)93 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)84 View (android.view.View)67 TextView (android.widget.TextView)25 ImageView (android.widget.ImageView)24 ViewGroup (android.view.ViewGroup)20 Toolbar (android.support.v7.widget.Toolbar)16 LayoutInflater (android.view.LayoutInflater)14 SearchView (android.support.v7.widget.SearchView)12 Intent (android.content.Intent)11 DefaultItemAnimator (android.support.v7.widget.DefaultItemAnimator)11 DialogInterface (android.content.DialogInterface)10 Canvas (android.graphics.Canvas)9 Bundle (android.os.Bundle)9 BindView (butterknife.BindView)9 Nullable (android.support.annotation.Nullable)8 FloatingActionButton (android.support.design.widget.FloatingActionButton)8 ArrayList (java.util.ArrayList)8 Context (android.content.Context)7