列表使用仿照QQ形式的方式,进行对数据的删除置顶等操作
1首先导入依赖
compile 'com.baoyz.swipemenulistview:library:1.3.0'
2布局
在这里布局文件就是把listview换成SwipeMenuListView就行
<com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" />
3适配器
正常使用就可以了
public class Myadapter extends BaseAdapter { private List<String> list; private Context context; public Myadapter(List<String> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Holder holder; //判断convertview是否为空,为空则赋值 if (view == null) { holder=new Holder(); view = View.inflate(context, R.layout.item, null); holder.title = (TextView) view.findViewById(R.id.title); view.setTag(holder); } else { holder = (Holder) view.getTag(); } //为控件赋值 holder.title.setText(list.get(i)); return view; } //定义holder优化查找控件 class Holder { TextView title; } }
4Activity
查找控件与赋予侧滑样式
listview= (SwipeMenuListView) findViewById(R.id.listView); listview.setMenuCreator(creator);添加适配器与现实
list=new ArrayList<>(); for(int i=0;i<20;i++){ list.add("张三"); } Myadapter adapter=new Myadapter(list,MainActivity.this); listview.setAdapter(adapter);设置侧滑样式按钮
SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { // create "open" item SwipeMenuItem openItem = new SwipeMenuItem( getApplicationContext()); // set item background openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9, 0xCE))); // set item width openItem.setWidth(100); // set item title openItem.setTitle("Open"); // set item title fontsize openItem.setTitleSize(18); // set item title font color openItem.setTitleColor(Color.WHITE); // add to menu menu.addMenuItem(openItem); // create "delete" item SwipeMenuItem deleteItem = new SwipeMenuItem( getApplicationContext()); // set item background deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9, 0x3F, 0x25))); // set item width deleteItem.setWidth(100); // set a icon deleteItem.setIcon(R.mipmap.ic_launcher); // add to menu menu.addMenuItem(deleteItem); } };5侧滑方向设置
// Right // mListView.setSwipeDirection(SwipeMenuListView.DIRECTION_RIGHT); // Left // mListView.setSwipeDirection(SwipeMenuListView.DIRECTION_LEFT);6侧滑按钮点击事件
listview.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { switch (index) { case 0: // open break; case 1: // delete break; } // false : close the menu; true : not close the menu return false; } });具体请看: