Tim*_*Tim 1 android android-listview material-design android-recyclerview
我正在玩RecyclerView,我发现没有太多关于如何使用它的文档
我从文档中看到GMail应用程序正在使用RecyclerView,但在应用程序中它具有许多普通RecyclerView不支持的功能:
它有截图
https://developer.android.com/training/material/lists-cards.html
特征:
我可以知道如何实现这些功能吗?
我发现有关于如何实现OnClickListener的讨论,(这些解决方案非常缓慢,因为它不断检查列表项区域)
但是,如果将它与Gmail应用程序进行比较,它会快速而流畅!
我可以知道如何实现上述2个功能吗?他们是如何做到的呢?他们使用Recyclerview还是ListView?
我确信我可以使用ListView实现这些功能,但我不知道如何使用Recyclerview实现它们.
向左/向右滑动可以这样执行: 使用ItemTouchHelper滑动 - jmcdale的回答
SwipeToDismiss可从Android支持库中随时使用.
将'recyclerview-v7:22.2.+'依赖添加到build.gradle:
compile 'com.android.support:recyclerview-v7:22.2.+'
将remove方法添加到RecyclerView.Adapter实现中:
public class ExampleAdapter extends Adapter<ExampleItem> {
[...]
public void remove(int position) {
list.remove(position);
notifyItemRemoved(position);
}
}
Run Code Online (Sandbox Code Playgroud)使用ItemTouchHelper和ItemTouchHelper.Callback:
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
//Remove swiped item
adapter.remove(viewHolder.getAdapterPosition())
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
//Available drag and drop directions
int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
//Available swipe directions
int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
return makeMovementFlags(dragFlags, swipeFlags);
}
//Disable or Enable drag and drop by long press
@Override
public boolean isLongPressDragEnabled() {
//return false;
return true;
}
//Disable or Enable swiping
@Override
public boolean isItemViewSwipeEnabled() {
//return false;
return true;
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
Run Code Online (Sandbox Code Playgroud)将ItemTouchHelper附加到RecyclerView
itemTouchHelper.attachToRecyclerView(recyclerView);
Run Code Online (Sandbox Code Playgroud)另一个有用的链接:使用recyclerView拖动和滑动
| 归档时间: |
|
| 查看次数: |
9081 次 |
| 最近记录: |