首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

多个ScrollView可能Listview多级联动效果!拒绝 直接使用 ScrollTo ScrollBy,使listview、scrollView滚动

2013-03-21 
多个ScrollView或者Listview多级联动效果!!拒绝 直接使用 ScrollTo ScrollBy,使listview、scrollView滚动第

多个ScrollView或者Listview多级联动效果!!拒绝 直接使用 ScrollTo ScrollBy,使listview、scrollView滚动

多个ScrollView可能Listview多级联动效果!拒绝 直接使用 ScrollTo ScrollBy,使listview、scrollView滚动

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

第一:写个接口ScrollViewListener!!

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就能同步滚动了!!

热点排行