您好,登錄后才能下訂單哦!
該控件的優點:
cdn.xitu.io/2018/4/23/162f05b87f3923c0?w=258&h=258&f=png&s=32756">
Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.WelliJohn:ASwipeLayout:0.0.2'
}
<?xml version="1.0" encoding="utf-8"?>
<wellijohn.org.swipevg.ASwipeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="horizontal">
//在這里是實現你的主item的東西,根據你們的項目隨便添加
</LinearLayout>
<LinearLayout
android:id="@+id/right_menu_content"
android:layout_width="wrap_content"
android:layout_height="match_parent">
//在這里是實現右側的菜單,根據你們的項目隨便添加
</LinearLayout>
</wellijohn.org.swipevg.SwipeLayout>
注意在這里ll_content,right_menu_content是一定要的,這個id對應的布局不要自己去改變,以后有需要會放開,目前的話,一般的情況你們只需要定制主item的內容和右側菜單欄了,在這里我也省去了定義一些額外的自定義view了,單純就是用id,來區分主item和右側的菜單。
因為item復用會使得當我們滑出某個menu的時候,再進行RecyclerView的上下滑動時,會使得其他的Item也滑出了menu,這就是item復用導致了布局錯亂,所以針對這類型的問題的話,我在這里已經提供了OnSwipeStateChangeListener接口,在這里你們可以記錄下滑動的狀態,在onBindViewHolder方法里面,根據狀態來設定Item是打開menu還是關閉menu:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final Person person = mDatas.get(position);
holder.scrollDelLl.setOpen(person.isOpen());
holder.scrollDelLl.setOnSwipeStateChangeListener(new OnSwipeStateChangeListener() {
@Override
public void onSwipeStateChange(boolean open) {
person.setOpen(open);
}
});
}
如上代碼就可以解決Item復用導致布局錯亂的問題了(粑粑再也不用擔心RecyclerView復用的問題了)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。