166.n1-事件分发,让父类不要拦截
来源:互联网 发布:淘宝自己开的店铺呢 编辑:程序博客网 时间:2024/06/04 18:48
ViewPagerIndicator中父类不拦截
TabPageIndicator.java中让父类的不处理请求
/** * 事件分发, 请求父控件及祖宗控件不要拦截事件 */@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {getParent().requestDisallowInterceptTouchEvent(true);// 用getParent去请求return super.dispatchTouchEvent(ev);}
菜单的新闻条目,不拦截详情内容的方法
news_menu_details.xml中的Viewpager不再继承V4中的ViewPager而是继承自定义的ViewPager,让父类不拦截处理的请求
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <!-- 使用开源的框架PageIndicator实现Tab --> <com.viewpagerindicator.TabPageIndicator android:id="@+id/indicator" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" /> <ImageButton android:id="@+id/btn_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:background="@android:color/transparent" android:padding="5dp" android:src="@drawable/news_cate_arr" /> </LinearLayout> <!-- 详情的viewpager --> <com.ldw.news.view.HorizontalViewPager android:id="@+id/vp_menu_detail" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
HorizontalViewPager.java让内容详情页不被拦截package com.ldw.news.view;import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.MotionEvent;/* * 详情内容左滑动的时候请求父类不要拦截滑动事件,新闻的11个页签 */public class HorizontalViewPager extends ViewPager {public HorizontalViewPager(Context context, AttributeSet attrs) {super(context, attrs);}public HorizontalViewPager(Context context) {super(context);}/* * 事件分发, 请求父控件及祖宗控件是否拦截事件 */@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {if (getCurrentItem() != 0) {getParent().requestDisallowInterceptTouchEvent(true);// 用getParent去请求,// 不拦截} else {// 如果是第一个页面,需要显示侧边栏, 请求父控件拦截getParent().requestDisallowInterceptTouchEvent(false);// 拦截}return super.dispatchTouchEvent(ev);}}
0 0
- 166.n1-事件分发,让父类不要拦截
- Android 事件拦截分发
- Cocos2dx:事件分发拦截
- 事件分发拦截机制
- 分发拦截响应事件
- 事件分发拦截机制
- 事件分发与拦截
- 事件分发、拦截、消费(二)
- 事件分发、拦截、消费(一)
- View的事件分发拦截
- 事件拦截和分发demo
- android事件分发,拦截,处理
- andropid事件分发拦截机制
- Android---事件分发与拦截
- Touch事件分发拦截示意图
- 事件分发,事件拦截,事件消费
- android 中的事件分发和事件拦截
- android View事件分发和事件拦截
- java如何快速得到一个数组里面有多少种元素?
- 大话数据结构学习笔记2
- Mac OS X+ Selenium + ChromeDriver +Java使用例子
- VPN之——CentOS6.5建OpenVPN服务器,客户端要访问服务器同网段其他IP的设置
- UVa10012箱子得有多大
- 166.n1-事件分发,让父类不要拦截
- PYTHON解释
- 科研的一些感想
- python的基础知识(1)
- 526. Beautiful Arrangement
- 为 Vue 编写一个插件
- 《java多线程编程技术核心》读书笔记5
- ESP_8266芯片配网方式
- UVa苏丹的继承者