前面几节,我们重点讨论了自定义View的三板斧,这节我们来讨论自定义ViewGroup,为什么要自定义ViewGroup,其实就是为了更好的管理View。 自定义ViewGroup无非那么几步: Ⅰ、重写OnMeasure()方法,测试子控件的大小。 Ⅱ、重写onLayout()方法,计算子控件的布 ...
分类:
移动开发 时间:
2016-04-12 12:26:51
阅读次数:
152
AppBarLayoutAppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar。是继承LinerLayout实现的一个ViewGroup容器组件,它是为了Material Design设计的App Bar,支持手势滑动操作。默认的AppBarLayout是垂直方向的,它的作用是把... ...
分类:
移动开发 时间:
2016-04-11 20:19:02
阅读次数:
136
onInterceptTouchEvent 与 onTouchEvent 分析与MotionEvent在ViewGroup与View中的分发 Notice:本文将紧接着 Android 触屏事件 OnTouch onClick onTouchEvent对于触屏事件的处理和分发 这一片博文来分析,假设 ...
分类:
其他好文 时间:
2016-04-11 18:26:50
阅读次数:
233
通常而言,可以使用三种方法实现自定义控件 1、继承现成控件,进行拓展。 2、组合现有控件。 3、重写View/ViewGroup实现全新的控件。 最难就是第三钟方法实现全新控件。 其实实现全新的自定义控件,总结起来就那么几步。 Ⅰ、在OnMeasure()方法中,测量自定义控件的大小,使自定义控件能 ...
分类:
移动开发 时间:
2016-04-11 18:12:32
阅读次数:
219
曾经面试时,面试官问了一个View和Viewgroup的测绘顺序,当时答的不是特别完美,今天总结下具体的顺序!可能有童鞋说多简单啊不就是onMeasure onSizeChanged onLayout onDraw,
………加入一个ViewGroup里面放置了三个View,请说出log输出的具体顺序,附加一条,ondraw方法是谁通知他开始绘制的,以及ondraw中的canvas来自哪里?好的现在...
分类:
移动开发 时间:
2016-04-11 12:24:31
阅读次数:
213
先说点废话哦。
我突然喜欢上了工作,不是为了别的,只是因为工作让我感觉到有趣。
为什么要做这个圆盘啦,是因为我们项目需要加入大转盘的功能,
但是需求变化了,现在大转盘的优先级不是最高。我在此记录一下,
如果项目需要我将补全完整。效果图准备:
现在已经有的功能:
1.背景的颜色根据动态加载的View变化而变化。
2.根据View个数,以及初始角度变化而旋转...
分类:
其他好文 时间:
2016-04-09 07:01:29
阅读次数:
296
先看看效果图
实现方法继承自ViewGroup需要我们自己来测量,布局,实现滑动的效果,处理滑动冲突,
自定义ViewGroup的一般思路是重写onMeasure方法,在onMeasure方法中调用measureChild来测量子View,然后调用setMeasuredDimension来测量自己的大小。然后重写onLayout方法,在onLayout中调用子View的layout方法来确定...
分类:
移动开发 时间:
2016-04-08 15:13:46
阅读次数:
222
GIS的开发中,什么时候都少不了地图操作。ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS Runtime SDK for Android中的地图容器,与很多ArcGIS API中的Map、M ...
分类:
移动开发 时间:
2016-04-08 14:52:39
阅读次数:
293
写一个方法,移除界面上的一个view。例如:privatevoidremoveView(Viewv){
ViewGroupviewGroup=(ViewGroup)v.getparent();
viewGroup.removeView(v);
}
分类:
其他好文 时间:
2016-04-06 15:30:25
阅读次数:
178
开发自定义控件的步骤:
1、了解View的工作原理
2、 编写继承自View的子类
3、 为自定义View类增加属性
4、 绘制控件
5、 响应用户消息
6 、自定义回调函数
一、View结构原理
Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。
...
分类:
移动开发 时间:
2016-04-05 17:59:09
阅读次数:
208