多个ScrollView或者Listview多级联动效果!!拒绝 直接使用 ScrollTo ScrollBy,使listview、scrollView滚动
发布日期:2021-10-17 15:07:10 浏览次数:2 分类:技术文章

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

 
昨天开发,遇到一个棘手的问题,就是需要多个ScroollView能达到联动的效果,不是把view放到一个ScrollView就能解决的,需要将view拆分到不同的ScrooView中,然后对某个ScrollView操作,实现两个或者多个ScrollView同时滚动,给人的感觉是在一个ScrollView上的效果一样的!!

例如图上效果:

第一排是能自由左右移动的ScrollView,第二行是自由移动的ScrollView,但是呢 需求是移动第二个ScrollView需要我们同时第一个ScrollView同步移动!怎么做呢,上代码:

第一:写个接口ScrollViewListener!!

public interface ScrollViewListener {    void onScrollChanged(MyScrollView scrollView, int x, int y, int oldx, int oldy);}
第二:

重写 HorizontalScrollview(或者ScrollView)

public class MyScrollView extends  HorizontalScrollViewrollView {	private ScrollViewListener scrollViewListener = null;	public MyScrollView(Context context) {		super(context);	}	public MyScrollView(Context context, AttributeSet attrs, int defStyle) {		super(context, attrs, defStyle);	}	public MyScrollView(Context context, AttributeSet attrs) {		super(context, attrs);	}	public void setScrollViewListener(ScrollViewListener scrollViewListener) {		this.scrollViewListener = scrollViewListener;	}	protected void onScrollChanged(int x, int y, int oldx, int oldy) {		super.onScrollChanged(x, y, oldx, oldy);		if (scrollViewListener != null) {			scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);		}	}}

第三步:

某个Activity 实现接口,并实现onScrollChanged方法,

public class  TestActivity  implements  ScrollViewListener   

实例化你的Scrollview , 然后 注册监听器:

myscrollview = (MyScrollView) findViewById(R.id.scrollview_score_vertical);

myscrollview.setScrollViewListener(this);

接口方法实现:

public void onScrollChanged(MyScrollView scrollView, int x, int y,

int oldx, int oldy) {
if (scrollView == myscrollview ) {
myscrollview .scrollTo(x, y);  // 这里是拖动myscrollview 实现scrollview滚动
你的scrollview(或者listivew).scrollTo(x, y);// 这里写 需要跟myscrollview同步滚动的scrollview或者listview即可!
}
}

这样你的listview或者scrollview就能同步滚动了!!

转载地址:https://blog.csdn.net/tenggangren/article/details/8691125 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:实现Button按钮上放置icon或者其他的小图标!!怎么居中显示!!
下一篇:android 设置支持pad等大屏幕、大分辨率的设备!!

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月14日 19时24分51秒