我正在尝试将一些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)