中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASwipeLayout一個強大的側滑菜單控件

發布時間:2020-06-02 03:13:24 來源:網絡 閱讀:2265 作者:WelliJohn 欄目:移動開發

前言

該控件的優點:

  • 1.無論是在RecyclerView,ListView,還是LinearLayout等,只要是ViewGroup用該控件都能實現側滑。
  • 2.控件的手勢滑動沖突已解決,不會出現嵌套到ScrollView等控件出現滑動不流暢的情況
  • 3.控件使用簡單,只需要在xml外套一層該控件就好了,秒接入
  • 4.點擊事件很方便,原來什么寫法就什么寫法

    APK下載地址

    ASwipeLayout一個強大的側滑菜單控件cdn.xitu.io/2018/4/23/162f05b87f3923c0?w=258&h=258&f=png&s=32756">

    1.效果圖

    ASwipeLayout一個強大的側滑菜單控件

ASwipeLayout一個強大的側滑菜單控件

2.使用方式其實挺簡單的,在設計的時候,就是想著怎么簡單怎么來

2.1引入庫:

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'
    }

2.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和右側的菜單。

3.因為RecyclerView中有復用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復用的問題了)。

4.如果你們在項目使用的過程中,有心得需求或者是bug的話,可以在github上提你們的需求或者issue

5.代碼已上傳github,ASwipeLayout

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

驻马店市| 广平县| 惠安县| 普安县| 深圳市| 九江市| 济源市| 阿鲁科尔沁旗| 柘城县| 洞头县| 湾仔区| 麻城市| 家居| 阿拉善盟| 安乡县| 罗甸县| 宜兰县| 靖江市| 微山县| 永川市| 深水埗区| 汽车| 玉门市| 靖远县| 北京市| 大城县| 麦盖提县| 贵阳市| 祁阳县| 武夷山市| 湟源县| 田林县| 和林格尔县| 古浪县| 进贤县| 罗城| 桂东县| 山东| 鄂托克旗| 资溪县| 独山县|