您的位置:首页 > 移动开发 > 微信开发

android开发类似微信列表向左滑动按钮操作

2016-04-21 14:43 375 查看
话不多说,直接上代码,有详细的注释的。

layout布局中:

主要是跟大家说一下listview怎么写:

<com.foxhis.view.PullToRefreshView
android:id="@+id/pull_refresh_viewId"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp" >

<span style="color:#FF0000;">  <com.foxhis.view.swipemenu.SwipeMenuListView</span>
android:id="@+id/list_infoId"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="13dp"
android:cacheColorHint="#00000000"
android:divider="@color/trsparent_white"
android:dividerHeight="13dp"
android:scrollingCache="true" >
<span style="color:#FF0000;"> </com.foxhis.view.swipemenu.SwipeMenuListView></span>
</com.foxhis.view.PullToRefreshView>


java中的代码实现:

<pre name="code" class="java">                SwipeMenuListView listInfos = (SwipeMenuListView) listInfoView.findViewById(R.id.list_infoId);
ListViewAdapter adapter = new ListViewAdapter(getActivity(), list);listInfos.setAdapter(adapter);initSwipeMenuLv(); //这是比较重要的方法listInfos.setOnMenuItemClickListener(new OnMenuItemClickListener() {@Overridepublic
void onMenuItemClick(final int position, SwipeMenu menu, int index) { //一共加了三个按钮,分别点击有不同的事件效果switch (index) {case 0: //添加的按钮点击

//点击事件代码添加

 break;case 1:break;case 2:break;}}});


initSwipeMenuLv()方法
private int dp2px(int dp) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, rs.getDisplayMetrics());
}

private void initSwipeMenuLv() { //这里创建了三个按钮图片
creator = new SwipeMenuCreator() {
@Override
public void create(SwipeMenu menu) {
// switch (menu.getViewType()) {
// case 0:
// 创建一个Item
SwipeMenuItem suspendItem = new SwipeMenuItem(getActivity().getApplicationContext());
// 设置背景Color.rgb(0x30, 0xB1,0xF5)
suspendItem.setBackground(new ColorDrawable(Color.WHITE));
// 设置宽度
suspendItem.setWidth(dp2px(70));
// // 设置显示的文字
// suspendItem.setTitle(getResources().getString(R.string.txt_short_suspend));
// 设置文字大小
// uploadItem.setTitleSize(18);
// 设置文字颜色
// uploadItem.setTitleColor(Color.WHITE);
// 设置一个图标bt_supplements
suspendItem.setIcon(R.drawable.bt_delete_selector);
// 添加到菜单里
<span style="color:#FF0000;">menu.addMenuItem(suspendItem);</span>
// break;
// case 1:
// 创建一个Item
SwipeMenuItem checkRoomItem = new SwipeMenuItem(getActivity().getApplicationContext());
// 设置背景rgb(0xF9,0x3F, 0x25)
checkRoomItem.setBackground(new ColorDrawable(Color.BLUE));
// 设置宽度
checkRoomItem.setWidth(dp2px(70));
// // 设置显示的文字
// checkRoomItem.setTitle(getResources().getString(R.string.text_check_room));
// 设置文字大小
// uploadItem.setTitleSize(18);
// 设置文字颜色
// uploadItem.setTitleColor(Color.WHITE);
// 设置一个图标bt_delete
checkRoomItem.setIcon(R.drawable.bottom_checkfor_selector);
// 添加到菜单里
<span style="color:#FF0000;">menu.addMenuItem(checkRoomItem);</span>
// break;
// }
// 创建一个Item
SwipeMenuItem checkoutItem = new SwipeMenuItem(getActivity().getApplicationContext());
// 设置背景rgb(0xF9,0x3F, 0x25)
checkoutItem.setBackground(new ColorDrawable(Color.RED));
// 设置宽度
checkoutItem.setWidth(dp2px(70));
// // 设置显示的文字
// checkoutItem.setTitle(getResources().getString(R.string.guest_checkout_nopay_str));
// 设置文字大小
// uploadItem.setTitleSize(18);
// 设置文字颜色
// uploadItem.setTitleColor(Color.WHITE);
// 设置一个图标bt_delete
checkoutItem.setIcon(R.drawable.bottom_checkout_selector);
// 添加到菜单里
<span style="color:#FF0000;">menu.addMenuItem(checkoutItem)</span>;
}
};
// 将菜单生成器设置给ListView即可
listInfos.setMenuCreator(creator);
}
这样就可以了!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: