ListVIew中包含水平滑动控件,左右滑动时容易触发上下滑动

自定义ListView

import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.widget.ListView;
public class LiveCustomListView extends ListView {  public LiveCustomListView(Context context) {    super(context);  }

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

  private float mLastX;  private float mLastY;

  @Override  public boolean onInterceptTouchEvent(MotionEvent ev) {    //避免左右滑动水平图片时容易触发上下滑动列表    switch (ev.getAction()) {      case MotionEvent.ACTION_DOWN:        mLastX = ev.getX();        mLastY = ev.getY();        break;      case MotionEvent.ACTION_MOVE:        if (Math.abs(mLastX - ev.getX()) > Math.abs(mLastY - ev.getY())) {          return false;        }        break;      case MotionEvent.ACTION_UP:      case MotionEvent.ACTION_CANCEL:        break;    }    return super.onInterceptTouchEvent(ev);  }}
时间: 2024-11-06 07:29:31

ListVIew中包含水平滑动控件,左右滑动时容易触发上下滑动的相关文章

关于ListView中item与子控件抢夺焦点的解决方法

1.在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 这里有三种解决方案 1.将ListView中的Item布局中的子控件focusable属性设置为false2.在getView方法中设置but

Qt5之控件在初始化时就触发了槽函数的问题解决方案

在编程中,如QSpinBox控件.QComboBox控件等,在初始化控件数值范围.控件内容等情况下,往往会触发信号去调用相应的槽函数.这往往不是我们想要的结果.         解决方案:        能够触发控件的信号并调用槽,这是因为控件的信号与槽已经相关联在一起,那么我们只要在对控件进行初始化之后再来关联信号与槽,这样就可以避免以上出现的情况.所以,在构造中把信号与槽的关联代码放到最后面,或者干脆把信号与槽的关联代码搬迁到界面初始化完毕但未显示之前的函数showEvent(QShowEv

解决ListView中Item的子控件与Item点击事件冲突

经常会碰到在ListView中点击其中一个Item,会一并触发其子控件的点击事件,例如Item中的Button.ImageButton等,导致了点击Item中Button以外区域也会触发Button点击事件.在网上找了相关方法,这里记录下,亲测可行.. 1.在Item的xml文件根元素中添加属性:android:descendantFocusability="blocksDescendants" 2.在冲突的子控件中添加属性:android:focusable="false&

android中listview中包含ratingbar响应不了点击事件

在ListView中用RatingBar(自定义的图标),ListView就不能响应自己的单击事件OnItemClickListener.这怎么办呢? 只需要将布局文件中的Ratingbar的Android:isIndicator设置为false就可以了,这个代表该ratingbar只是作为指示器,不可操作. 有一些情况我们需要通过自定义ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应ListView的

Android自定义LinearLayout实现左右侧滑菜单,完美兼容ListView、ScrollView、ViewPager等滑动控件

国际惯例,先来效果图 在阅读本文章之前,请确定熟悉[Scroller]相关的知识,如果不熟悉,请小伙伴儿先百度后再来吧. 假如你已经知道[Scroller]了,那么就接着往下看吧. 首先,我们把侧拉菜单的构造给解析出来.多次观看上面的效果图,我们可以得出以下的结论. 整体可以看做是一个ViewGroup,这个ViewGroup包含了最多三个子View(分别是左菜单的红色View.中间正文内容的白色View.右菜单的蓝色View): 三个子View(我称为UI界面,因为代码中的Java类就取名这个

iOS中的UIScorllView(滑动控件,时机控制)的基本使用

#import "RootViewController.h" #define kScreenWidth [UIScreen mainScreen].bounds.size.width #define kScreenHeight [UIScreen mainScreen].bounds.size.height @interface RootViewController () <UIScrollViewDelegate> @end @implementation RootVie

Android 结合滑动控件ListView滑动删除

一转眼就15年了,希望大家15年升职加薪走上人生巅峰 这篇博客是结合上一篇ListView滑动删除之Viewgroup打造滑动控件(修正版)博客所完成的,先上个效果图吧. 其实实现起来并不复杂 1,解决滑动冲突 因为我们的自定义滑动控件和ListView本身的滑动事件会产生各种冲突,所以我们可以自定义ListView并重写onInterceptTouchEvent方法. 我们先来了解一下android事件的分发,当用户触摸屏幕时会先去调用ViewGroup的dispatchTouchEvent方

Android中滑动控件的不显示

1.背景介绍 在使用ScrollView和ListView这样的控件的时候,默认在右手边上是有一个滑动的控件的.在我们用手指滑动的时候,显示出来这个控件会不那么舒服,影响用户体验度.这里就是来说明一下,怎么样不显示滑动控件. 2.ScrollView不显示 直接上代码,如下: <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:la

Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505 自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScr