发布网友 发布时间:2022-06-12 14:54
共1个回答
热心网友 时间:2023-10-09 15:25
需求:一个ViewGroup中有多个控件,类似于常见的底部Tab布局,这几个子布局之间既可以点击切换,也可以左右滑动切换 实现:自定义父控件,在onInterceptTouchEvent方法中判断是否点击还是滑动,如果判断是点击,则直接交给child来响应点击事件去;如果是滑动,则 拦截事件,并通过回调传递给调用者处理。 优点:该控件只对触摸事件的分发做了相应处理,适用于各种滑动与点击冲突的情况.... 使用:直接将该控件作为父布局即可,通过setmSetOnSlideListener回调处理对应滑动事件 import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ViewConfiguration; import android.widget.RelativeLayout; public class MyRadioRelativeLayout extends RelativeLayout { public MyRadioRelativeLayout(Context context) { this(context, null); } public MyRadioRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } public MyRadioRelativeLayou...