我正在尝试将一些iOS功能移植到Android.
我打算创建一个表格,向左滑动显示2按钮:编辑和删除.
我一直在玩它,我知道我非常接近.秘密真正在于OnChildDraw方法.
我想绘制一个适合文本删除的Rect,然后用它们各自的背景颜色绘制除此之外的Edit文本.单击时剩余的空白区域应将行恢复到其初始位置.
我设法在用户向侧面滑动时绘制背景,但我不知道如何添加侦听器,一旦将其滑到一边,拖动功能就开始行为不端.
我正在研究Xamarin,但纯java解决方案也被接受,因为我可以轻松地将它们移植到c#.
public class SavedPlacesItemTouchHelper : ItemTouchHelper.SimpleCallback
{
private SavedPlacesRecyclerviewAdapter adapter;
private Paint paint = new Paint();
private Context context;
public SavedPlacesItemTouchHelper(Context context, SavedPlacesRecyclerviewAdapter adapter) : base(ItemTouchHelper.ActionStateIdle, ItemTouchHelper.Left)
{
this.context = context;
this.adapter = adapter;
}
public override bool OnMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target)
{
return false;
}
public override void OnSwiped(RecyclerView.ViewHolder viewHolder, int direction)
{
}
public override void OnChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, bool isCurrentlyActive)
{ …Run Code Online (Sandbox Code Playgroud) 当我们从最后滑动时,我可以显示红色背景和删除图标。我正在尝试实现部分滑动功能,在部分滑动时,滑动会在删除图标之前停止。我尝试遵循这些解决方案。但是,它对我不起作用。请指出我正确的方向。
public class PriorityItemTouchHelperCallback extends ItemTouchHelper.Callback {
private final ItemTouchHelperListener mAdapter;
private Context context;
public PriorityItemTouchHelperCallback(
ItemTouchHelperListener adapter, Context context) {
mAdapter = adapter;
this.context = context;
}
@Override
public boolean isLongPressDragEnabled() {
return true;
}
@Override
public boolean isItemViewSwipeEnabled() {
return true;
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
final int swipeFlags = ItemTouchHelper.START;
return makeMovementFlags(dragFlags, swipeFlags);
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的回收视图添加滑动功能。我正在按照此链接添加滑动操作。https://github.com/nikhilpanju/RecyclerViewEnhanced/blob/master/recyclerviewenhanced/src/main/java/com/nikhilpanju/recyclerviewenhanced/RecyclerTouchListener.java
在此链接中,我只能从右向左滑动。我想添加从左向右滑动。我尝试在onInterceptTouchEvent. 但我无法从左向右滑动。任何人都可以帮我添加从左向右滑动吗?