android---在ScrollView中嵌套ViewPager
来源:互联网 发布:光盘打印软件 编辑:程序博客网 时间:2024/05/02 04:50
在ScrollView 中如果有嵌套了ViewPager 那么 ViewPager的横向滑动将被ScrollView拦截掉,所以我们需要重写ScrollView来判断用户的手势,当用户手势在X方向上的距离大于在Y方向上的距离的时候判断是向左滑动,此时屏蔽ScrollView的滑动操作。反过来,就Y》X,就判定是ScrollView的滑动:重写的ScrollView代码如下:
package cn.leature.istarbaby.view;
/**
* xu
*/
import android.content.Context;
import android.renderscript.Sampler;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.widget.ScrollView;
public class ScrollViewHasViewPager extends ScrollView {
//决定scrollview是否可以滑动
private boolean canScroll;
//手势
private GestureDetector gestureDetector;
public ScrollViewHasViewPager(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public ScrollViewHasViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
gestureDetector = new GestureDetector(new YScrollView());
canScroll = true;
}
public ScrollViewHasViewPager(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
if(ev.getAction() == MotionEvent.ACTION_UP)
{
canScroll = true;
}
return super.onInterceptTouchEvent(ev)&&gestureDetector.onTouchEvent(ev);
}
class YScrollView extends SimpleOnGestureListener{
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
// TODO Auto-generated method stub
if(canScroll)
{
if(Math.abs(distanceY)>= Math.abs(distanceX))
{
canScroll = true;
}
else
{
canScroll = false;
}
}
return canScroll;
}
}
}
0 0
- android---在ScrollView中嵌套ViewPager
- android中viewpager,scrollview的嵌套问题
- android中viewpager,scrollview的嵌套问题
- android中viewpager,scrollview的嵌套问题
- scrollview中嵌套ViewPager
- 在ScrollView中嵌套ViewPager,ViewPager不能显示的解决办法
- 在android中ScrollView嵌套ScrollView
- 在android中ScrollView嵌套ScrollView
- 在android中ScrollView嵌套ScrollView解决方案
- Android中Viewpager,ScrollView嵌套ViewPager滑动冲突解决
- GridView嵌套在ViewPager中,ViewPager嵌套在ScrollView中不显示
- GridView嵌套在ViewPager中,ViewPager嵌套在ScrollView中,GridView显示不全问题
- Android在ScrollView中嵌套ViewPager以及ListView的可能出现的问题以及解决方案
- Android ViewPager被嵌套在ScrollView中不显示的问题的解决方案
- Android笔记 android中viewpager,scrollview的嵌套问题
- android中viewpager,scrollview、listview的嵌套问题
- Android:ScrollView中嵌套ViewPager和ListView示例
- android 开发中ScrollView 嵌套 ViewPager 不能显示解决办法
- android---多线程(启动,暂停,终止)
- [dfs序 树状数组] BZOJ 4034 [HAOI2015]T2
- [bzoj2331][SCOI2011]地板
- DOM SAX JSON数据解析
- VLAN划分、VLAN间通讯、TRUNK模式、VTP模式、EthernetChannel的配置(拓扑图)
- android---在ScrollView中嵌套ViewPager
- 【Hibernate】——多对一关联映射
- linux find使用
- android---broadcastReceiver广播机制
- Foundation => Objective-C _ Part6
- 让员工发挥90%的能力,学会这两个字就够了
- android---service的启动,和activity的通信
- C# 事务异常TransactionScope处理
- android---后台代发短信