Androidの解决ViewFlipper与ScrollView滑动响应事件拦截的问题
来源:互联网 发布:crm软件系统发展 编辑:程序博客网 时间:2024/05/21 06:36
Androidの解决ViewFlipper与ScrollView滑动响应事件拦截的问题
1. 使用ViewFlipper作为水平滑动容器;需要使用ScrollView作为垂直滑动容器。
Android ViewFlipper添加ScrollView后不能滑动了原因是因为activity没有处理滑动效果。 网上都说是 重写
public boolean dispatchTouchEvent(MotionEvent ev) { // TODO Auto-generated method stub super.dispatchTouchEvent(ev); return gestureDetector.onTouchEvent(ev); }其实该方法要在 scrollview中实现,具体看下面。。不是写在Activity中
这里是主newslist_contentactivity_viewflipper.xml内容了
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#EDE4D6" android:orientation="vertical" > <ViewFlipper android:id="@+id/viewflipper" android:layout_width="fill_parent" android:layout_height="wrap_content" android:clickable="true" android:layout_below="@id/linearLayout1"> </ViewFlipper></RelativeLayout>但是我又添加了另一个xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#EDE4D6" android:orientation="vertical" > <com.blueberry.xinli.widget.FriendlyScrollView android:id="@+id/yilincontent_scroll" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" > <RelativeLayout android:id="@+id/layout_title_textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="13dip" android:layout_marginTop="20dip" android:orientation="vertical" > <TextView android:id="@+id/ntitle_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:text="@string/yilin_top_left_text" android:textColor="#ffdc6a86" android:textSize="25sp" /> <!-- android:layout_centerHorizontal="true" --> <TextView android:id="@+id/nfrom_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/ntitle_textview" android:layout_marginTop="8dip" android:text="@string/yilin_top_left_text" android:textColor="@color/main_news_item_title" android:textSize="18sp" /> </RelativeLayout> </com.blueberry.xinli.widget.FriendlyScrollView> </RelativeLayout>这里我自定义的一个 scrollview 了。。。
需要实现一个自定义的scrollview类了
public class FriendlyScrollView extends ScrollView { GestureDetector gestureDetector; public FriendlyScrollView(Context context) { super(context); gestureDetector = gestureDetector; } public FriendlyScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public FriendlyScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setGestureDetector(GestureDetector gestureDetector) { this.gestureDetector = gestureDetector; } @Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); return gestureDetector.onTouchEvent(event); } @Override public boolean dispatchTouchEvent(MotionEvent ev){ gestureDetector.onTouchEvent(ev); super.dispatchTouchEvent(ev); return true; } }
由于ViewFlipper在外,ScrollView在内,因此一般的做法是定义一个手势响应类来处理响应事件,并将响应事件的处理交给内层的ScrollView。
yilincontent_scroll = (FriendlyScrollView)v.findViewById(R.id.yilincontent_scroll);yilincontent_scroll.setOnTouchListener(new listener());yilincontent_scroll.setGestureDetector(gestureDetector);
记得在这里添加yilincontent_scroll.setGestureDetector(gestureDetector); 否则会有空指针异常的。。
一下就是如何在Activity中实现手势左右滑动了,要去实现了,这里不做具体内容了。
解决问题关键地点:
自定义一个scrollview,, 重写那个dispatchTouchEvent 方法即可。。
2 .源码下载
下载地址
0 0
- 解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- 解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- Androidの解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- Android-解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- Android-解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- 解决viewflipper 与scrollview的手势冲突
- 解决scrollview嵌套recycleview,recycleview抢走滑动事件的问题
- Android 事件分发实践(一),解决ScrollView嵌套ListView滑动的问题
- 自定义ScrollView,以解决viewflipper 与scrollview的手势冲突
- Android解决父控件拦截子控件手势滑动事件的问题
- Android 解决ScrollView与父视图滑动冲突问题
- 解决ViewFlow在Scrollview下滑动不灵敏的BUG(解决viewflow与父控件的滑动事件冲突问题)
- Android之解决scrollview总是优先滑动,导致在scrollview内的控件不滑动问题
- Android之解决scrollview总是优先滑动,导致在scrollview内的控件不滑动问题
- 解决ScrollView与ReclerView的滑动冲突问题
- 解决scrollView与recyclerView的滑动嵌套问题
- Android ScrollView中嵌套ListView,滑动冲突问题的解决
- Android ScrollView中嵌套ListView,滑动冲突问题的解决
- Leetcode 155: Mini Stack
- Linux上的一些命令
- linux内核设计与实现的读书笔记1 -内核开发头文件
- 第八周阅读程序
- MFC CComboBox 选择项是空的
- Androidの解决ViewFlipper与ScrollView滑动响应事件拦截的问题
- 关于CentOS5.3内核升级至2.6.30+版本的问题
- springmvc学习笔记(18)——CRUD之查询
- 哈哈,学习中
- CSU1578: Opening Ceremony
- Android导入android-support-v4.jar
- C++析构函数知识点小结
- 十大常用数据结构
- FTP实现断点续传