六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 58|回复: 0

实现ScrollView的嵌套

[复制链接]

升级  0%

12

主题

12

主题

12

主题

秀才

Rank: 2

积分
50
 楼主| 发表于 2013-1-30 03:59:03 | 显示全部楼层 |阅读模式
今天忽然需要写两个ScrollView嵌套,如:
 
<ScrollView>
    ……
    <ScrollView>
    ……
    </ScrollView>
    ……
</ScrollView>

但是这样会用问题,只有最外层的ScrollView有效。
 
有研究了一下,发现了下面这种解决方法:
 
ScrollView sv01 = (ScrollView) findViewById(R.id.scroll_01); ScrollView sv02 = (ScrollView) findViewById(R.id.scroll_02); sv02.setOnTouchListener(new OnTouchListener() {         @Override         public boolean onTouch(View v, MotionEvent event) {             if (event.getAction() == MotionEvent.ACTION_UP)                 sv01.requestDisallowInterceptTouchEvent(false);         else                  sv01.requestDisallowInterceptTouchEvent(true);         return false;         }     });  
 
这样重写onTouch()事件,在事件里通过requestDisallowInterceptTouchEvent(boolean)方法来设置父类的不可用,true表示父类的不可用。这样就可以实现两个ScrollView分别滑动。
 
并且这样也适用于:ScrollView里面嵌套ViewPage等控件。
也适用于ScrollView里面嵌套多个滑动的控件,具体实现基本一致,可以自己研究一下。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表