前言:
使用SwipeLayout的优点:
- 1.无论是在RecyclerView,ListView,还是LinearLayout等,只要是ViewGroup用该控件都能实现侧滑。
- 2.控件的手势滑动冲突已解决,不会出现嵌套到ScrollView等控件出现滑动不流畅的情况。
- 3.控件使用简单,只需要在xml外套一层该控件就好了,秒接入。
- 4.点击事件很方便,可根据自己所写布局ID进行设置。
在开始前咱们可以先看看实现出来的效果:
佳姝1:首先,我是使用的ListView所以我只添加了一行依赖,如过使用RecyclerView还需添加它的依赖。
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
implementation 'com.android.support:recyclerview-v7:25.0.1'
佳姝2:布局,(1)Activity中添加ListView 控件,(2)适配器中添加以下布局。
item_namelist.xml:
<?xml version="1.0" encoding="utf-8"?>
<com.daimajia.swipe.SwipeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/R.id.swipelayout"
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="vertical"
tools:context=".ui.activity.MainActivity">
<LinearLayout
android:id="@+id/hide_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_look"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_look_list" />
<ImageView
android:id="@+id/iv_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_edit_list" />
<ImageView
android:id="@+id/iv_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_delete_list" />
</LinearLayout>
<!--以上需添加侧滑后所显示的布局,以下需添加适配器Item所显示内容的布局-->
<LinearLayout
android:id="@+id/show_content_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shadowbgcolor"
android:gravity="center_vertical"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_flie_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:text="灯影科技有限公司年会"
android:textColor="@color/text_color_01"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_beacon_states"
android:layout_widt