打赏

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 @   YY2000  阅读(319)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示