Android功能之第三方SwipeMenuListView,Item项的侧滑
2015-10-19 20:35
489 查看
针对 ListView item 的侧滑菜单,项目地址:https://github.com/baoyongzhang/SwipeMenuListView
库工程、Demo地址:http://pan.baidu.com/s/1sjEFbjR
Usage
Add dependency
Step 1
add SwipeMenuListView in layout xml
Step 2
create a SwipeMenuCreator to add items.
Step 3
listener item click event
Swipe directions
Create Different Menu
Use the ViewType of adapter
Create different menus depending on the view type
Other
OnSwipeListener
open menu method for SwipeMenuListView
库工程、Demo地址:http://pan.baidu.com/s/1sjEFbjR
Usage
Add dependency
dependencies { compile 'com.baoyz.swipemenulistview:library:1.3.0' }
Step 1
add SwipeMenuListView in layout xml
<com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" />
Step 2
create a SwipeMenuCreator to add items.
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); } }; // set creator listView.setMenuCreator(creator);
Step 3
listener item click event
listView.setOnMenuItemClickListener(new 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; } });
Swipe directions
// Right mListView.setSwipeDirection(SwipeMenuListView.DIRECTION_RIGHT); // Left mListView.setSwipeDirection(SwipeMenuListView.DIRECTION_LEFT);
Create Different Menu
Use the ViewType of adapter
class AppAdapter extends BaseAdapter { ... @Override public int getViewTypeCount() { // menu type count return 2; } @Override public int getItemViewType(int position) { // current menu type return type; } ... }
Create different menus depending on the view type
SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { // Create different menus depending on the view type switch (menu.getViewType()) { case 0: // create menu of type 0 break; case 1: // create menu of type 1 break; ... } } };
Other
OnSwipeListener
listView.setOnSwipeListener(new OnSwipeListener() { @Override public void onSwipeStart(int position) { // swipe start } @Override public void onSwipeEnd(int position) { // swipe end } });
open menu method for SwipeMenuListView
listView.smoothOpenMenu(position); Open/Close Animation Interpolator // Close Interpolator listView.setCloseInterpolator(new BounceInterpolator()); // Open Interpolator listView.setOpenInterpolator(...);
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories