摘要: 前几天在做可拖动的按钮,在网上看到很多实例,但是都是仅仅实现了按钮的拖动,一但添加按钮监听,又会出现onClick和onTouch冲突,或是事件传播机制的问题。在学习touch事件的传播机制时,注意到click事件就是touch事件的“子类”,于是想到用这个方法实现拖动的按钮,在我看到的网络上的... 阅读全文
posted @ 2012-11-13 16:36 沙发土豆 阅读(517) 评论(0) 推荐(0)
摘要: xml布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.example.shijian.MyButton android:id=" 阅读全文
posted @ 2012-11-13 15:14 沙发土豆 阅读(2437) 评论(3) 推荐(0)
摘要: Android Touch事件传递机制解析android系统中的每个View的子类都具有下面三个和TouchEvent处理密切相关的方法:1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent测试程序界面下述3个Layout包含关系见如下界 阅读全文
posted @ 2012-11-13 10:25 沙发土豆 阅读(263) 评论(0) 推荐(0)
摘要: android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底是ViewGroup来处理Touch事件,还是子view来处理Touch事件呢?我只能很肯定的对你说不一定 阅读全文
posted @ 2012-11-13 10:13 沙发土豆 阅读(165) 评论(0) 推荐(0)
摘要: 通过WindowManager的addView()方法,并设置WindowManager.LayoutParams的相关属性,就可以往WindowManager中加入所需要的View,而根据WindowManager.LayoutParams属性不同,也就能实现不同的效果。比如创建系统顶级窗口,实现悬浮窗口效果。如果需要将View从WindowManager中移除,只需要调用removeView()即可。下面以一个简单的例子来解释一下如何实现悬浮窗口效果。 首先,得到WindoeManager对象: WindowManager wManager = getApplicationContex.. 阅读全文
posted @ 2012-11-12 18:53 沙发土豆 阅读(479) 评论(0) 推荐(0)
摘要: 来源:http://blog.sina.com.cn/s/blog_4b3c1f950100qd9s.htmlWindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。下面来分析一下这个类:定义public static class WindowManager.LayoutParamsextends ViewGroup.LayoutParams implements Parcelable继承关系java.l 阅读全文
posted @ 2012-11-12 17:18 沙发土豆 阅读(234) 评论(0) 推荐(0)
摘要: Android可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android已经提供DisplayMetircs类可以很方便的获取分辨率。下面简要介绍DisplayMetics类:Andorid.util包下的DisplayMetrics类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。为了获取DisplayMetrics成员,首先初始化一个对象如下:DisplayMetrics metrics =new DisplayMetrics();getWindowManag 阅读全文
posted @ 2012-11-12 17:09 沙发土豆 阅读(213) 评论(0) 推荐(0)
摘要: 简单说说 自己对 android LayoutParams的理解吧1public static class2ViewGroup.LayoutParams 3extends Object 45java.lang.Object 6android.view.ViewGroup.LayoutParams //继承关系 一个LinearLayout 和 这个LinearLayout里边一个 TextView 的关系 TextView 就算LinearLayout的子视图 child view .需要注意的是LayoutParams只是ViewGroup的一个内部类 这里边这个也就是ViewGroup里. 阅读全文
posted @ 2012-11-12 17:03 沙发土豆 阅读(171) 评论(0) 推荐(0)
摘要: 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如 Button、TextView等)。 具体作用: 1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;2、对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素。LayoutInflater 是一个抽象类,在 阅读全文
posted @ 2012-11-12 16:54 沙发土豆 阅读(211) 评论(0) 推荐(0)