关于多层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的坐标。

多层嵌套的Json字符串转成JavaBean实体对象

Json字符串转换为JavaBean。
  • huling2361
  • huling2361
  • 2014年08月26日 08:25
  • 1188

Android 动态生成布局 (多层嵌套)

Android 除了可以加载xml文件,显示布局外,也可以代码生成布局,并通过setContentView(View view)方法显示布局。单独的一层布局,如一个主布局加一个控件(如Button\i...
  • laoziyueguo3
  • laoziyueguo3
  • 2014年05月30日 09:13
  • 4109

Jaxb多层 java 与 xml 转换

/**   *    */   package com.wonders.quartz.cocc.model.xml;      import java.util.List;      i...
  • gebitan505
  • gebitan505
  • 2016年09月02日 16:55
  • 1411

Java中Json字符串直接转换为对象(包括多层List集合 嵌套)

http://blog.csdn.net/catoop/article/details/42744705 使用到的类:net.sf.json.JSONObject   使用JSON时,除了要导...
  • u011001084
  • u011001084
  • 2017年01月05日 10:38
  • 4055

递归处理多层嵌套列表

建立一个多层列表(即列表中存储列表)并输出列表项 如下图: 可以看出输出的只是输出了外列表 当然也可以多次循环输出每一个子项:如下图所示 注:isinstance(object...
  • a308690341
  • a308690341
  • 2014年04月25日 15:50
  • 70117

【基础算法】嵌套矩形

【基础算法】嵌套矩形 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有N个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽。矩形X(a, b)可以嵌套在矩形...
  • qq_33927580
  • qq_33927580
  • 2016年07月07日 20:06
  • 329

简单的实例,多层嵌套Makefile(一)

参考了网上的博客,自己整理了一份并且可以编译通过,也能够正常执行,所以就做了记录。 防止过段时间就又忘记了。 首先先上个还没执行make前的源码树: 源文件都是一个printf 没什么...
  • sinat_29830917
  • sinat_29830917
  • 2017年02月17日 11:37
  • 1900

React-Router 4 路由嵌套实现的分步表单

如图 1.点击左侧的菜单(分步表单),初始化右侧显示的是:分步表单第一步,对应地址栏是:localhost:3333/step-form 2.点击下一步显示:分步表单第二步,对应地址栏是:...
  • sinat_36193631
  • sinat_36193631
  • 2017年12月04日 18:07
  • 312

提取多层嵌套JSON类型数据

package com.iteam.test;import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Tes...
  • qq_22792489
  • qq_22792489
  • 2016年04月10日 11:31
  • 9260

提取多层嵌套Json数据

在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}} 引用命名空间 u...
  • smartsmile2012
  • smartsmile2012
  • 2013年12月13日 17:23
  • 44721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于多层layout的嵌套问题(转)
举报原因:
原因补充:

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