关于事件的分发与传递

问题描述

我在selector文件中写了一个用背景显示的语句,按下图片出现背景,代码如下:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/image_background" android:state_pressed="true"/>

</selector>

但是我在程序中要用到onFling()方法,用它来干滑动翻页的事。现在的问题是,滑动翻页倒是没问题,但是我一滑动,state_pressed不就是true了嘛,背景直接就显示了。我不想要它在我滑动的时候显示该怎么办呢

解决方案1

引用 4 楼 jhonzengxuejun 的回复:

Quote: 引用 2 楼 svenwang 的回复:

滑动时不会显示背景图片,只有touch的时间长一些才会显示背景图片。

可我一滑背景就跟着出来了

我试了不会啊。可能和你的onFling函数里的处理有关系?

时间: 2024-09-30 05:59:49

关于事件的分发与传递的相关文章

Android焦点事件分发与传递机制

如果您对TouchEvent事件分发机制不太了解的,可以参考我的这篇文章--安卓TounchEvent事件分发机制. 问题:TV端焦点满天飞,如何解决和处理? 记得初入TV开发,以为很简单.TV的这些界面与布局太简单了,分分钟就可以把页面搭建出来,处理好,然后就没有然后了.... 下面我们就从源码来带大家进行安卓TV焦点事件的传递 这里先给出Android系统View的绘制流程: 依次执行View类里面的如下三个方法: measure(int ,int) :测量View的大小 layout(in

图片会说话系列之Android事件的分发传递机制

在一些复杂布局中,经常会遇到事件冲突,事件失效等问题,这就需要我们深入理解Android事件的分发传递机制.最好的方法是自己写一个demo,打印事件相关的日志查看其运行流程,然后再结合源码去深入理解.当然这里不会做这些,这里只有总结性的东西,如果你喜欢这种东西,那么请继续往下看. 老规矩,先上图: 用户的交互一般发生在触摸屏上,因此Android事件的传递必然涉及到ViewGroup和View,ViewGroup与View包含的处理事件传递的方法分别如下: ViewGroup: <span st

【朝花夕拾】Android自定义View篇之(五)Android事件分发及传递机制

前言 在自定义View中,经常需要处理Android事件分发的问题,尤其在有多个输入设备(如遥控.鼠标.游戏手柄等)时,事件处理问题尤为突出.Android事件分发机制,一直以来都是一个让众多开发者困扰的难点,至少笔者在工作的前几年中,没有特意研究它之前,就经常云里雾里.实际上,该问题的“七寸”就是dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev

深入了解触摸事件的分发

1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOWN.ACTION_MOVE.ACTION_UP.当用户手指接触屏幕时,便产生一个动作为ACTION_DOWN的触摸事件,此时若用户的手指立即离开屏幕,会产生一个动作为ACTION_UP的触摸事件:若用户手指接触屏幕后继续滑动,当滑动距离超过了系统中预定义的距离常数,则产生一个动作为ACTION_MOVE的触摸事件,系统中预定义的用来判断用户手指在屏幕上的滑动是否是一个ACTION_MOVE动作的这个距离常量叫

UI进阶--触摸事件的产生和传递

事件的产生和传递: 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中; UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow); 主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步; 找到合适的视图控件后,就会调用视图控件的touches方法来作具体的事件处理; touchesBegan… touchesMoved… touchedEn

Android 编程下 Touch 事件的分发和消费机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev):能够响应这些方法的控件包括:ViewGroup 及其子类.Activity.方法与控件的对应关系如下表所示: Touch 事件相关方法   方法功能     ViewGroup         Activity        public b

事件的产生与传递

事件的产生和传递: 发生触摸事件以后,系统会将该事件加入到一个由UIApplication管理的事件队列中, UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常先发送事件给应用程序的主窗口(keyWindow) 主窗口会在视图层次机构中找到一个最合适的视图来处理触摸事件,但是这仅仅是事件处理的第一步.找到合适的视图控制器后,就会调用视图控件的touchs方法来做具体的事件处理. UIView不接触事件的三种情况: 1.userIteractionEnable

Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件

这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45198549,非允许请勿用于商业或盈利用途,违者必究. 在写Android应用的过程之中,经常会遇到这样的情况:界面包含了多个控件,我们希望触摸在界面上的不

Touch 事件的分发和消费机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev):能够响应这些方法的控件包括:ViewGroup 及其子类.Activity.方法与控件的对应关系如下表所示: Touch 事件相关方法   方法功能     ViewGroup         Activity        public b