版权所有,禁止匿名转载;禁止商业使用。
private List<ApplicationInfo> mAppList; private AppAdapter mAdapter; private SwipeMenuListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); mAppList = getPackageManager().getInstalledApplications(0); mListView = (SwipeMenuListView) findViewById(R.id.listView); mAdapter = new AppAdapter(); mListView.setAdapter(mAdapter); // 步骤1。创建一个MenuCreator SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { // // 创建“开放”项 // SwipeMenuItem openItem = new SwipeMenuItem( // getApplicationContext()); // 设置项目背景 // openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9, // 0xCE))); // // 设置分类长度 // openItem.setWidth(dp2px(90)); // // 设置项标题 //// openItem.setTitle("Open"); // // 设置项标题字形大小 // openItem.setTitleSize(18); // //标题字体颜色设置项 // openItem.setTitleColor(Color.WHITE); // // 添加到菜单 // menu.addMenuItem(openItem); //创建“删除”项目 SwipeMenuItem deleteItem = new SwipeMenuItem( getApplicationContext()); // 设置项目背景 deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9, 0x3F, 0x25))); // 设置分类长度 deleteItem.setWidth(dp2px(90)); // 设置一个图标 deleteItem.setIcon(R.drawable.ic_delete); // 添加到菜单 menu.addMenuItem(deleteItem); } }; // 设置的创造者 mListView.setMenuCreator(creator); // 步骤2。侦听器项点击事件 mListView.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { ApplicationInfo item = mAppList.get(position); switch (index) { // case 1: // open // open(item); // break; case 0: // delete mAppList.remove(position); mAdapter.notifyDataSetChanged(); break; } return false; } }); // 设置SwipeListener // 监听是否滑动 mListView.setOnSwipeListener(new OnSwipeListener() { @Override public void onSwipeStart(int position) { // 点击开始 Log.d("++++++++++++++", "99999999999999"); } @Override public void onSwipeEnd(int position) { // 刷卡结束 Log.d("+*****+++++++++++", "99999999999999"); } }); // 其他设置 其他设定 // listView.setCloseInterpolator(new BounceInterpolator()); // 测试项目长点击 mListView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(getApplicationContext(), position + " long click", 0).show(); return false; } }); } class AppAdapter extends BaseAdapter { @Override public int getCount() { return mAppList.size(); } @Override public ApplicationInfo getItem(int position) { return mAppList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = View.inflate(getApplicationContext(), R.layout.item_list_app, null); new ViewHolder(convertView); } ViewHolder holder = (ViewHolder) convertView.getTag(); ApplicationInfo item = getItem(position); holder.iv_icon.setImageDrawable(item.loadIcon(getPackageManager())); holder.tv_name.setText(item.loadLabel(getPackageManager())); return convertView; } class ViewHolder { ImageView iv_icon; TextView tv_name; public ViewHolder(View view) { iv_icon = (ImageView) view.findViewById(R.id.iv_icon); tv_name = (TextView) view.findViewById(R.id.tv_name); view.setTag(this); } } } private int dp2px(int dp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics()); }