博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义ScrollView实现一键置顶功能
阅读量:7059 次
发布时间:2019-06-28

本文共 1373 字,大约阅读时间需要 4 分钟。

效果图如下:

(ps:动态图有太大了,上传不了,就给大家口述一下要实现的功能吧)

要实现的功能:当ScrollView向上滑动超过一定距离后,就渐变的出现一个置顶的按钮,当滑动距离小于我们指定的距离时,按钮又消失。

实现原理:就是监听View的onScrollChanged()方法(回调方法),获取到ScrolView滑动的距离,如果大于我们的距离,则出现置顶按钮,否则,直接隐藏,且当按钮出现点击事件,让整个ScrollView滑动到(0,0)位置即可,不废话,直接上代码

 

自定义的ScrollView类:GoTopScrollView.java

package com.tianti.meilishuo.customcontrol;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.ScrollView;import com.tianti.meilishuo.R;public class GoTopScrollView extends ScrollView implements OnClickListener{	private ImageView goTopBtn;		private int screenHeight;	public GoTopScrollView(Context context, AttributeSet attrs)	{		super(context, attrs);	}	public void setScrollListener(ImageView goTopBtn)	{		this.goTopBtn = goTopBtn;		this.goTopBtn.setOnClickListener(this);	}	@Override	protected void onScrollChanged(int l, int t, int oldl, int oldt)	{		super.onScrollChanged(l, t, oldl, oldt);		/**		 * 滑动距离超过500px,出现向上按钮,可以做为自定义属性		 */		if (t >= 500)		{			goTopBtn.setVisibility(View.VISIBLE);		}		else		{			goTopBtn.setVisibility(View.GONE);		}	}	@Override	public void onClick(View v)	{		if (v.getId() == R.id.iv_fragmenthome_goTop)		{			this.smoothScrollTo(0, 0);		}	}}

  

只需要在主函数中调用一下

goTopScrollview.setScrollListener(iv_fragmenthome_goTop); //里面的参数就是那张小图片

 

 

转载地址:http://cpyll.baihongyu.com/

你可能感兴趣的文章
金风科技澳洲首座20兆瓦光伏电站将于2017年投产
查看>>
Java 代理
查看>>
《Effective Debugging:软件和系统调试的66个有效方法》——第12条:将复杂的测试场景自动化...
查看>>
企业物联网安全的四个关键步骤
查看>>
盗版的软件更易被攻击 勒索钱财是黑客惯用形式
查看>>
SPI绿能宝与金沙江资本签署5亿美元可转债协议
查看>>
中英专家建言:未来城市发展要智慧化“留白”
查看>>
象棋中马行走路线的测试用例设计
查看>>
乌当区前三季度大数据产业实现产值60亿元
查看>>
微软推出新工具 可以识别恶意图片和视频
查看>>
selenium技巧——通过js来控制滚动条  业务流程:
查看>>
《软件建模与设计: UML、用例、模式和软件体系结构》一一1.3 软件体系结构设计...
查看>>
《Greenplum企业应用实战》一3.5 索引
查看>>
转:ibatis动态sql
查看>>
Atom 简史:差点被 GitHub 创始人放弃
查看>>
匿名函数,结合闭包的写法,js对象的案例
查看>>
《机器人爱好者(第2辑)》——打造你自己的机器人底盘
查看>>
《Spark与Hadoop大数据分析》一一2.5 小结
查看>>
科技公司市值排行出炉,微软或超苹果成最值钱公司
查看>>
比特币漏洞修复时间推迟 凸显虚拟货币缺陷
查看>>