码迷,mamicode.com
首页 > 其他好文 > 详细

listview侧滑菜单swipemenulistview的简单使用

时间:2016-12-28 11:58:00      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:final   create   undle   i++   rri   list   ica   menuitem   state   

先看代码:

public class MainActivity extends AppCompatActivity {

private SwipeMenuListView list;
private ArrayAdapter<String> adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

list = (SwipeMenuListView) findViewById(R.id.swipelist);

final List<String> listdata = createListdata();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listdata);

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(dp2px(90));
// 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(dp2px(90));
// set a icon
deleteItem.setIcon(R.drawable.ic_delete);
// add to menu
menu.addMenuItem(deleteItem);

SwipeMenuItem test = new SwipeMenuItem(
getApplicationContext());
// set item background
test.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9,
0xCE)));
// set item width
test.setWidth(dp2px(90));
// set item title
test.setTitle("test");
// set item title fontsize
test.setTitleSize(18);
// set item title font color
// test.setTitleColor(Color.WHITE);
// add to menu
menu.addMenuItem(test);
}
};

// set creator
list.setMenuCreator(creator);

list.setAdapter(adapter);
list.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(int position, SwipeMenu menu, int index) {
switch (index){
case 0:
Log.e("tag", "点击打开----》: "+position );
break;
case 1:
listdata.remove(position);
adapter.notifyDataSetChanged();
break;
case 2:
Log.e("tag", "TEST----》: "+position );
break;
}
// return false;删除item后侧滑不关闭
return true;
}
});


}

private List<String> createListdata() {
ArrayList<String> list = new ArrayList<>();

for (int i = 0; i < 20; i++) {
list.add("东边日出西边雨,道是有晴却无晴"+"---->"+i);
}
return list;
}

private int dp2px(int dp) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,
getResources().getDisplayMetrics());
}
}

注意要点:字体颜色,大小要设置,不然显示不出来,

demo下载:https://github.com/tiaodong/SwipeMenuListView
参考demo:http://www.jcodecraeer.com/a/opensource/2014/1108/1940.html



listview侧滑菜单swipemenulistview的简单使用

标签:final   create   undle   i++   rri   list   ica   menuitem   state   

原文地址:http://www.cnblogs.com/renjiemei1225/p/6228589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!