1.概述
在最近app的Launcher开发中,要实现仿Launcher3任意拖拽app图标后可以移动,然后和其他app图标交换位置拖动到哪个app图标附近就占用哪个位置,被占用的位置移动到下一个位置的功能开发
2. 仿Launcher3实现app图标随意拖拽交换位置功能实现
2.1 创建拖拽接口DragGridListener
import android.view.View;
public interface DragGridListener {
/**
* 重新排列数据
* @param oldPosition
* @param newPosition
*/
public void reorderItems(int oldPosition, int newPosition);
/**
* 设置某个item隐藏
* @param hidePosition
*/
public void setHideItem(int hidePosition);
/**
* 删除某个item
* @param hidePosition
*/
public void removeItem(int hidePosition);
}
2.2 创建拖拽适配类DragItemAdapter.java
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widg