一:总体说明
在Android的布局体系中,父View负责刷新、布局显示子View;而当子View需要刷新时,则是通知父View来完成。
二:代码分析
1).ViewGroup的addView方法,理解参数的意义和传递
invalidate调用父类View的方法
addViewInner方法主要做的事情是
view的dispatchAttachedToWindow(Atta...
分类:
移动开发 时间:
2015-01-06 18:07:15
阅读次数:
238
有时候,我们会有这样的需求,一个activity里面需要有两个或者多个界面切换,就像Viewpager那样。但是在这些界面里面又需要能够有listView,gridview等组件。如果是纵向的,似乎还好,没什么影响,那么如果是横向的,那么就会出事情。因为Viewpager会拦截触摸事件。而如果将Viewpager的触摸事件拦截掉给里面的子控件,那么Viewpager又不能响应滑动事件了。那么如何又...
分类:
移动开发 时间:
2015-01-06 10:09:48
阅读次数:
219
继续分析DrawerLayout的手势分发部分谈到手势分发,这本身就是个好话题,DrawerLayout作为继承自ViewGroup得布局他可以拦截手势也可以分发给子view,也就是在 onInterceptTouchEvent中做的操作,但是他的下面还有一个onTouchEvent方法,先看哪个呢...
分类:
其他好文 时间:
2015-01-06 00:48:49
阅读次数:
263
举个例子,一个横向的ViewGroup,如果每个View的宽度为300,那么当前显示第一个View的时候getScrollX()返回值为0,当你 向左移动第一个View,移动距离为30,那么此时getScrollX()的返回值为30,如果当前显示第二个View,那么getScrollX() 的返回值...
分类:
其他好文 时间:
2015-01-03 07:03:56
阅读次数:
420
MainActivity如下:
package cn.c;
import android.os.Bundle;
import android.app.Activity;
import android.view.MotionEvent;
/**
* Demo描述:
* 分析Android事件分发和处理机制
*
*
* 总结:
* 1 ViewGroup继承自View
* 事...
分类:
移动开发 时间:
2014-12-29 18:26:07
阅读次数:
181
package cc.aa;
import android.os.Environment;
import android.view.MotionEvent;
import android.view.View;
public class UnderstandDispatchTouchEvent {
/**
* dispatchTouchEvent()源码学习及其注释
...
分类:
移动开发 时间:
2014-12-29 18:22:35
阅读次数:
264
前面说点什么
当我们的一个视图界面绘制在android屏幕上面的时候其实都必须经过这几步measure、 layout、draw这几个阶段,我们可以在view类里面看到这几个函数,然后里面有几个函数是onmeasure、onlayout、ondraw这几个函数是我们重写控件需要注意的这几个函数,下面我们就来讲讲这几个函数的功能和作用。
onMeasure
正如这个函数的名子一样就是测量,所有...
分类:
移动开发 时间:
2014-12-29 16:53:49
阅读次数:
150
如果viewpager listadapter小于三个。用这个移除异常。for (View view : viewList) { ViewGroup p = (ViewGroup) view.getParent(); if (p != null) { p.removeAllViewsInLayout...
分类:
其他好文 时间:
2014-12-29 15:08:45
阅读次数:
111
在Android应用开发中,滑动侧边栏经常使用,今天我也试着自己进行了一个简单的实践,虽然功能还不是很强大,但是可以保留下来为以后的开发使用,有需要时在进行简单的修改。实现一个滑动侧边栏思路也很简单:
1.重写一个SlidingMenu类继承ViewGroup,病危该ViewGroup添加两个子布局,分别为菜单和主界面显示;
2....
分类:
移动开发 时间:
2014-12-29 12:13:43
阅读次数:
170
android中贞布局由FrameLayout所代表,FrameLayout直接继承了 ViewGroup 组件。
帧布局容器为每个加入其中的组件创建一个空白的区域 (称为一帧),所有每个子组件占据一帧,这些帧都会根据 gravity属性执行自动对齐。也就是说,巾贞布局的效果有点类似 于AWT编程的CardLayout,都是把组件一个一个地叠加在一 起。与CardLayout的区别在于,Card...
分类:
移动开发 时间:
2014-12-27 20:31:20
阅读次数:
221