ScrollView嵌套Scrollview滑动冲突
来源:互联网 发布:淘宝哪家手办店好 编辑:程序博客网 时间:2024/05/03 22:21
主要解决的问题:实现父控件和子控件都可以滑动,并且当子控件滑动到最低端,继续滑动的时候,获得父控件焦点,同理,向上滑动
步骤:
第一步:继承OnTouchListener,第二步:帖代码
/**
* ScrollView中嵌套SrcollView 滑动冲突
*/
float start=0;
float start1=0;
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
switch (arg0.getId()) {
case R.id.scrParent://父控件布局
scrChild.getParent().requestDisallowInterceptTouchEvent(false);
scrChildren.getParent().requestDisallowInterceptTouchEvent(false);
break;
case R.id.scrChild://子控件布局
if ((arg1.getY() - start) > 0) {
if (arg0.getScrollY() == 0) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
} else {
if (arg0.getHeight() + arg0.getScrollY() >= scrChild
.getChildAt(0).getMeasuredHeight()) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
}
start = arg1.getY();
break;
case R.id.scrChildren:
if ((arg1.getY() - start1) > 0) {
if (arg0.getScrollY() == 0) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
} else {
if (arg0.getHeight() + arg0.getScrollY() >= scrChild
.getChildAt(0).getMeasuredHeight()) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
}
start1 = arg1.getY();
break;
}
return false;
}
步骤:
第一步:继承OnTouchListener,第二步:帖代码
/**
* ScrollView中嵌套SrcollView 滑动冲突
*/
float start=0;
float start1=0;
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
switch (arg0.getId()) {
case R.id.scrParent://父控件布局
scrChild.getParent().requestDisallowInterceptTouchEvent(false);
scrChildren.getParent().requestDisallowInterceptTouchEvent(false);
break;
case R.id.scrChild://子控件布局
if ((arg1.getY() - start) > 0) {
if (arg0.getScrollY() == 0) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
} else {
if (arg0.getHeight() + arg0.getScrollY() >= scrChild
.getChildAt(0).getMeasuredHeight()) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
}
start = arg1.getY();
break;
case R.id.scrChildren:
if ((arg1.getY() - start1) > 0) {
if (arg0.getScrollY() == 0) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
} else {
if (arg0.getHeight() + arg0.getScrollY() >= scrChild
.getChildAt(0).getMeasuredHeight()) {
arg0.getParent().requestDisallowInterceptTouchEvent(false);
} else {
arg0.getParent().requestDisallowInterceptTouchEvent(true);
}
}
start1 = arg1.getY();
break;
}
return false;
}
0 0
- ScrollView嵌套Scrollview滑动冲突
- scrollview嵌套viewpager 滑动冲突
- ScrollView嵌套滑动冲突问题解决
- swipeRefreshLayout嵌套ScrollView滑动冲突
- SwipeRefreshLayout嵌套 Scrollview 滑动冲突
- ScrollView嵌套RecyclerView滑动冲突
- scrollview嵌套listliview滑动冲突
- ScrollView 嵌套 Recyclerview 滑动冲突
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- ScrollView中嵌套ListView 滑动冲突
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- scrollview 嵌套 viewpager 滑动冲突的解决办法
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- ScrollView ViewPager嵌套导致滑动冲突解决方案
- ScrollView嵌套ViewPager滑动冲突的解决
- ScrollView嵌套ListView滑动冲突解决
- ScrollView嵌套ListView滑动冲突的解决方案
- ScrollView嵌套ViewPager滑动冲突的问题
- SSH框架 bug记录
- Cocos2d-x 3.0 及以上常用函数
- vc中让列表框可编辑
- android绘制view的过程(自定义view一)
- js实现下拉框根据输入值检索结果
- ScrollView嵌套Scrollview滑动冲突
- HDU 1071 The area
- UpdateLayeredWindow与SetLayeredWindowAttributes
- Qt5 oracle数据库驱动编译
- Java开发之ArrayList 和LinkedList各自的特点是什么
- 程序员创业的十大心得
- hdu 2416 Treasure of the Chimp Island(bfs求最短路)
- shell文本过滤编程(四):awk内置变量及一般变量
- 小计64位win7上R读取excel过程