Próbuję zaimplementować bezstykowa aby usunąć takie same jak Gmail app „Swipe do archiwum”:Android - Swipe usunąć RecyclerView
Próbowałem wiele tutoriali, ale żaden z nich pracuje jako szybki jak gmail, Wolę nie pracować na zewnętrznej bibliotece. Jak mogę to zrobić?
Edit:
Mój kod tak daleko
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
public boolean onMove(RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
// final int fromPos = viewHolder.getAdapterPosition();
// final int toPos = viewHolder.getAdapterPosition();
// // move item in `fromPos` to `toPos` in adapter.
return true;// true if moved, false otherwise
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
//Remove swiped item from list and notify the RecyclerView
mAdapter.notifyItemRemoved(viewHolder.getLayoutPosition());
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
itemTouchHelper.attachToRecyclerView(mRecyclerView);
udało mi się włączyć gest machnięcia ale nie wiem jak dodać tło i obraz pod viewHolder. Próbowałem umieścić kolejną oprawę FrameLayout w pliku item_XXX.xml, ale po przesunięciu rzuca cały element w tle.
Pomoże to: - http://stackoverflow.com/questions/27293960/swipe-to-dismiss -for-recyclerview – Wizard
Powinieneś powiedzieć, co zrobiłeś do tej pory i jaki kod próbowałeś. –
Zobacz http://stackoverflow.com/questions/30820806/adding-a-colored-background-with-ext-icon-under-swiped-row-when-using-androids, istnieje rozwiązanie wykorzystujące przesłonięcie onChildDraw. –