关于多层layout的嵌套问题(转)

转载 2011年01月25日 10:29:00
1、由于多成Layer嵌套,监听onTouch事件会根据返回值一层层调用,返回false就掉用上层的onTouch事件,直到返回true终止。
例如下面代码:
Java代码
  1. <AbsoluteLayout    
  2.         android:id="@+id/AbsoluteLayout"    
  3.         android:layout_height="fill_parent"   
  4.     android:layout_width="fill_parent"  >  
  5.         <ImageView  
  6.         android:id="@+id/myImageView"   
  7.         android:adjustViewBounds="true"   
  8.         android:maxHeight="72dip"   
  9.         android:maxWidth="72dip"   
  10.             android:layout_width="wrap_content"   
  11.             android:layout_height="wrap_content"   
  12.             launcher:direction="horizontal"  />  
  13. </AbsoluteLayout>  

在ImageView的onTouch事件返回false的情况下,就会调用AbsoluteLayout的onTouch事件。
2、实例分析,在Launcher的主界面加入上面那段代码,想要实现ImageView跟随手指移动的功能。
问题:
中途遇到一个问题就是当我使用ImageView的onTouch事件监听使用手指按住ImageView拖动的时候,ImageView在屏幕 上出现两个相同的图片,并和手指的拖动不协调。而使用AbsoluteLayout的onTouch监听移动事件则能使图片正常移动。
分析:
经过控制台输出onTouch获得的x、y坐标发现,原来不是出现两个ImageView图片,而是一个ImageView图片在两个位置来回闪 动。这表明座标出了问题,对坐标值分析过后发现,使用AbsoluteLayout的onTouch事件监听到的坐标是手指在该 AbsoluteLayout下的坐标,如果AbsoluteLayout是全屏的话,就是屏幕坐标。而ImageView的onTouch事件监听到的 坐标,则是以上一次ImageView所在点为原点(0,0),与当前手指触摸点的相对坐标,这种坐标会出现负数。
解决:
在ImageView的onTouch事件MotionEvent.ACTION_MOVE:中保留上一次ImageView在屏幕中的坐标,在这个基础上进行移动。

上面有个问题没有想通,就是在AbsoluteLayout的onTouch事件中,无法得到该AbsoluteLayout中的ImageView。见下面的代码:
public boolean onTouch(View v, MotionEvent event){
    if(v instanceof ImageView){}
}
这个v始终不是ImageView,而是AbsoluteLayout。所以还不知道怎么在AbsoluteLayout的onTouch事件中得到ImageView的坐标。

相关文章推荐

android listView多层嵌套listView显示不全问题

最近在做项目,需要用到listVIew多层嵌套listVIew的需求,先发现已下两个处理办法比较好用 第一种: public class ListViewNesting extends ListV...

Android多层嵌套Fragment中调用系统相机拍照以及裁剪的相关问题解决

多层嵌套Fragment中调用系统相机拍照、裁剪最近公司项目有频繁使用相机拍照的需求,然后频繁的实际使用过程中遇到很多大大小小的坑,在此记录下。(ps.关于一些拍照后图片旋转、裁剪设置返回数据为tru...

解决Fragment多层嵌套时onActivityResult无法正确回调的问题

Fragment也可以使用startActivityForResult方法去打开一个Activity,然后在其onActivityResult方法中处理结果,可是当Fragment嵌套的时候,由于Fr...

fastjson 多层嵌套的问题

今天使用fastjson的JSON.parseObject(String text, Class clazz)解析3层嵌套的json串时候遇到了奇怪问题, 照着往常的代码写了javabean实体类...

我们来谈谈promise,讨论一下如何优雅的避免多层回调嵌套的问题

我们知道,javascript是没办法阻塞的,所有的等待只能通过回调来完成,这就造成了,回调嵌套的问题,导致代码乱到爆 举个常见的例子,一个验证问题,通过本地cookie中的uid,从服务器...

多层Fragment嵌套出现重影问题_原理解析_解决方法(Winter原创,转载请注明出处)

多层Fragment嵌套出现重影问题_原理解析_解决方法(Winter原创,转载请注明出处) 1解决bug的思想: //step1:当bug被发现(排除极低偶然性,单次性,开发工具导致) ...

多层PCB LAYOUT

原文地址::http://blog.csdn.net/happyflovef/article/details/5584479   多层PCB电路板设计方法 2009-08-30 22:57 ...

[转帖]table-layout:fixed导致单元格宽度不受控制的问题

我遇到这个问题是由于我第一行有个单元格占了多列,fixed导致被占的列总是平均分配列宽。看看下面的说法,终于搞清楚原因了。   网页上的表格如下图所示: 网页代码如下: tab...

Pads_layout中的一些操作问题

  • 2015年01月16日 20:42
  • 72KB
  • 下载

Pads layout问题总结

  • 2014年04月26日 10:03
  • 52KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于多层layout的嵌套问题(转)
举报原因:
原因补充:

(最多只允许输入30个字)