您的位置:首页 > 移动开发 > Android开发

Android自定义View之ScrollViewforListView(解决ScrollView嵌套listview,listview不能滑动)

2017-05-08 16:45 477 查看

Android自定义View之ScrollViewforListView(解决ScrollView嵌套listview,listview不能滑动)

基本思路:

设置父控件是否可以获取到触摸处理权限,当手指触摸懂啊Listview时,让父控件交出onTouch权限,不能滚动,当手指松开时,让父控件重新获取onTouch权限

重写listview

代码实现:

package com.lk.lkadmin.modules.custom;

import android.content.Context;

import android.util.AttributeSet;

import android.view.MotionEvent;

import android.widget.ListView;

public class ScrollViewforListView extends ListView {

public ScrollViewforListView(Context context) {

super(context);

}

public ScrollViewforListView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public ScrollViewforListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);

}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
// 当手指触摸listview时,让父控件交出ontouch权限,不能滚动
case MotionEvent.ACTION_DOWN:
setParentScrollAble(false);
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
// 当手指松开时,让父控件重新获取onTouch权限
setParentScrollAble(true);
break;

}
return super.onInterceptTouchEvent(ev);

}

// 设置父控件是否可以获取到触摸处理权限
private void setParentScrollAble(boolean flag) {
getParent().requestDisallowInterceptTouchEvent(!flag);
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐