打赏

android 下拉头部放大 下拉刷新

1.引入

 implementation 'com.gavin.view.flexible:library:1.0.2'

2.布局

<com.gavin.view.flexible.FlexibleLayout
    ...>
    <ScrollView
        ...>
        <LinearLayout
            ...
            android:orientation="vertical">
            <ImageView
                android:id="@+id/iv_header"
                .../>
            <TextView
                ... />
        </LinearLayout>
    </ScrollView>
</com.gavin.view.flexible.FlexibleLayout>

3.Activity代码

private ImageView mHeader;
private ScrollView mScrollView;
private FlexibleLayout mFlexibleLayout;
...
mFlexibleLayout.setHeader(mHeader)
            .setReadyListener(new OnReadyPullListener() {
                @Override
                public boolean isReady() {
                    //下拉放大的条件
                    return mScrollView.getScrollY() == 0;
                }
            });

4.如何需要刷新或者处理其他

mFlexibleLayout.setHeader(mHeader)
        .setReadyListener(new OnReadyPullListener() {
            @Override
            public boolean isReady() {
                return mScrollView.getScrollY() == 0;
            }
        })
        .setRefreshable(true)
        .setDefaultRefreshView(new OnRefreshListener() {
            @Override
            public void onRefreshing() {
                //刷新操作
                ...
                //刷新完成后需要调用onRefreshComplete()通知FlexibleLayout
                mFlexibleLayout.onRefreshComplete();
            }
        });

5.方法/属性

配置

方法功能默认
setEnable(boolean isEnable) 允许下拉放大 true
setHeader(View header) 设置Header null
setMaxPullHeight(int height) Header最大下拉高度 header 高度 + 1/3屏幕宽度
setRefreshable(boolean isEnable) 是否允许下拉刷新 false
setMaxRefreshPullHeight(int height) 刷新View最大下拉高度 1/3屏幕宽度
setRefreshSize(int size) 刷新View的尺寸(正方形) 1/15屏幕宽度
isRefreshing() 是否正在刷新  

 

 

 

 

 

 

 

 

 

监听

方法功能
setReadyListener(OnReadyPullListener listener) 设置准备监听
setOnPullListener(OnPullListener onPullListener) 下拉监听
setRefreshView(View refreshView, OnRefreshListener listener) 设置下拉刷新View 以及监听
setDefaultRefreshView(OnRefreshListener listener) 使用默认的下拉刷新View

 

 

 

 

 

 

源码下载地址

链接:https://pan.baidu.com/s/1ZnisWWr0t2gYt0peXP0DzA
提取码:t8pf

 

posted @ 2021-01-15 13:00  张学涛  阅读(325)  评论(0)    收藏  举报