1.依赖三方类库【左滑控件】【该方式不能与适配框架同时用,用此布局的不用再考虑适配问题】 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res-auto" >
<com.daimajia.swipe.SwipeLayout android:id="@+id/swipe" android:layout_width="match_parent" android:layout_height="wrap_content" app:drag_edge="right" > <LinearLayout android:id="@+id/trash" android:layout_width="160dp" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" android:tag="Bottom"> <TextView android:id="@+id/swipe_open" android:layout_width="1dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#f55509" android:gravity="center" android:text="打开" android:textColor="@android:color/white" android:textSize="20sp" />
<TextView android:id="@+id/swipe_delete" android:layout_width="1dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@android:color/holo_red_dark" android:gravity="center" android:text="删除" android:textColor="@android:color/white" android:textSize="20sp" />
</LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" android:padding="5dp">
<ImageView android:layout_width="120dp" android:layout_height="80dp" android:src="@mipmap/iv_logo" />
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" android:orientation="vertical" android:paddingLeft="5dp">
<TextView android:id="@+id/tv_nickname" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="17sp" />
<TextView android:id="@+id/tv_msg" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:textSize="15sp" /> </LinearLayout> </LinearLayout> </com.daimajia.swipe.SwipeLayout> </LinearLayout> 3.适配器要继承BaseSwipeAdapter,与BaseAdapter有弱微区别,实现如下: public class MySwipeAdapter extends BaseSwipeAdapter{ private Context context; private ArrayList<HashMap<String,String>> dataList = new ArrayList<HashMap<String, String>>(); private final String TAG = "MySwipeAdapter";
public MySwipeAdapter(Context context,ArrayList<HashMap<String,String>> dataList){ this.context = context; this.dataList = dataList; }
@Override public int getSwipeLayoutResourceId(int i) { return R.id.swipe; }
@Override public View generateView(int i, ViewGroup viewGroup) { View view = View.inflate(context,R.layout.list_item_layout,null); SwipeLayout swipeLayout = (SwipeLayout)view.findViewById(getSwipeLayoutResourceId(i));
// 设置滑动是否可用,默认为true swipeLayout.setSwipeEnabled(true); // 设置为true,在当前一条item(除侧滑以外部分)点击时,可收回侧滑出来部分,默认为false... swipeLayout.setClickToClose(true); swipeLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
} }); return view; }
@Override public void fillValues(int position, View convertView) { TextView tvNickName = (TextView) convertView.findViewById(R.id.tv_nickname); TextView tvMsg = (TextView) convertView.findViewById(R.id.tv_msg); TextView tvSwipeOpen = (TextView) convertView.findViewById(R.id.swipe_open); TextView tvSwipeDelete = (TextView) convertView.findViewById(R.id.swipe_delete); tvNickName.setText(dataList.get(position).get("NickName")); tvMsg.setText(dataList.get(position).get("Msg"));
tvSwipeOpen.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context,"打开",Toast.LENGTH_SHORT).show(); } });
tvSwipeDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context,"删除",Toast.LENGTH_SHORT).show(); } });
}
@Override public int getCount() { return dataList.size(); }
@Override public Object getItem(int i) { return dataList.get(i); }
@Override public long getItemId(int i) { return i; } }
|
左滑删除控件的实现
最新推荐文章于 2024-08-09 07:15:26 发布