在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多个View控件,并管理其中包含的View控件. 一般自定义ViewGroup的流程如下: onMeasure() onLayout() 我们一般不需要像自定义View一样重写onDraw(),这里需要多写一个onLayout来摆放子View的位置.除了onLayout方法之外,我们还需要确定Layo…
在做安卓UI的时候有时候需自定义具有动画效果的按钮或需要自定义一下actionbar~ 本节用一个简单的demo讲如何自定义具有动画效果的按钮,以及个性化的actionbar 下面是效果: 其中: △ 自定义button是由  3 个ImageView + animation动画构成 △ actionbar是自定义的效果,按钮按动也用到了动画 下面是整个工程的结构: 需要引用v7工程,因为继承了v7的ActionBarActivity 其中MyAnimation.java包含按钮动画的方法 其中…
示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下: package com.jj.sliding_6; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android…
http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下: package com.jj.sliding_6; import android.content.Context; import android.util…
今天是学习自定义标签的第一天 Jsp2.0以来,自定义标签的实现比传统标签的实现容易了很多,一般只要extends类SimpleSupport重写doTag()方法即可. 先看最简单的例子,输出一个Hello World 效果图: jsp页面的代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@t…
自定义ViewGroup需要重写onMeasure, onLayout等方法.下面是一个实例,4个View分别显示在四个角. public class MyGroup extends ViewGroup{ private View viewA, viewB, viewC, viewD; public MyGroup(Context context) { this(context, null); } public MyGroup(Context context, AttributeSet attr…
1.概述 在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥? ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width).高度(layout_height).对齐方式(layout_gravity)等:当然还有margin等:于是乎,ViewGroup的职能为:给childView计算出建议的宽和高和测量模式 :决定childView的位置:为什么只是…
概述 在写代码之前,我必须得问几个问题: 1.ViewGroup的职责是啥? ViewGroup相当于一个放置View的容器,并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width).高度(layout_height).对齐方式(layout_gravity)等:当然还有margin等:于是乎,ViewGroup的职能为:给childView计算出建议的宽和高和测量模式 :决定childView的位置:为什么只是建议…
Android ViewDragHelper完全解析 自定义ViewGroup神器   转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46858663: 本文出自:[张鸿洋的博客] 一.概述 在自定义ViewGroup中,很多效果都包含用户手指去拖动其内部的某个View(eg:侧滑菜单等),针对具体的需要去写好onInterceptTouchEvent和onTouchEvent这两个方法是一件很不容易的事,需要自己去处理:多…
古人学问无遗力, 少壮工夫老始成.纸上得来终觉浅, 绝知此事要躬行. – 陆游 <冬夜读书示子聿> 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言.一时间 Android 开发者的圈子炸开了锅,各种关于 Kotlin 的资料介绍也如雨后春笋不断的冒出. 大家都对这比较关心,我觉得最大的原因是,当初宣布 Android Studio 成为官方 IDE 后,很多开发者都还在坚守 Eclipse,但是现在来看,大部分都转为 Android Studio 开发…
前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通过对自定义图片选择控件设置动画为例来学习布局动画. 其他几种动画效果: Android动画效果之Tween Animation(补间动画) Android动画效果之Frame Animation(逐帧动画) Android动画效果之初识Property Animation(属性动画) Android…
前言: 前面几篇讲了自定义控件绘制原理Android自定义控件之基本原理(一),自定义属性Android自定义控件之自定义属性(二),自定义组合控件Android自定义控件之自定义组合控件(三),常言道:“好记性不如烂笔头,光说不练假把式!!!”,作为一名学渣就是因为没有遵循这句名言才沦落于此,所以要谨遵教诲,注重理论与实践相结合,今天通过自定义ViewGroup来实现一下项目中用到的标签云. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 A…
视图分类就两类,View和ViewGroup.ViewGroup是View的子类,ViewGroup可以包含所有的View(包括ViewGroup),View只能自我描绘,不能包含其他View. 然而系统定义的ViewGroup毕竟功能有限,不能满足我们所有的需求,很简单的道理,别人不可能为你考虑所有的细节.所以我们需要自定义ViewGroup. 一个非常简单的视图包含关系:ViewGroup1->ViewGroup2->…->ViewGroupi->…->ViewGroup…
reference to : http://www.linuxidc.com/Linux/2014-12/110165.htm 前一篇文章主要讲了自定义View为什么要重载onMeasure()方法(见 http://www.linuxidc.com/Linux/2014-12/110164.htm),那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ? Android开 发中,对于自定义View,分为两种,一种是自定义控件(继承View类),另一种是自定义布局容器(继承ViewG…
学习<Android开发艺术探索>中自定义ViewGroup章节 自定义ViewGroup总结的知识点 一.自定义ViewGroup中,onMeasure理解 onMeasure(int widthMeasureSpec,int heightMeasureSpec); 需要进行补充的逻辑 1.对布局设置为wrap_content的兼容,具体查看下一篇日志的构建MeasureSpec的方法 最终实现是在onMeasure(...)方法中对LayoutParams设置为wrap_content的实…
前面几节,我们重点讨论了自定义View的三板斧,这节我们来讨论自定义ViewGroup,为什么要自定义ViewGroup,其实就是为了更好的管理View. 自定义ViewGroup无非那么几步: Ⅰ.重写OnMeasure()方法,测试子控件的大小. Ⅱ.重写onLayout()方法,计算子控件的布局. Ⅲ.在onDraw()方法中,绘制子控件,可有可无. Ⅳ.监听onTouch事件,响应屏幕触摸事件. 相应思维导图如下所示: 连篇累牍的说了这么多,我们通过一个小案例来理解这个自定义ViewGr…
最终效果如下 实现思路 通过效果图,会有几个问题: a.动画效果如何实现 可以看出动画是从顶点外外发射的,可能有人说,那还不简单,默认元素都在定点位置,然后TraslateAnimation就好了:这样忽略了一点,就是TraslateAnimation虽然有动画效果,但是本质是不会改变按钮的位置,我们的按钮动画结束是要点击的:有人可能会说那使用属性动画,或者改变leftMagin,rightMagin:这样可能比较麻烦,其实我们可以默认让子菜单就已经在目标位置,然后GONE,当点击时还是用Tra…
使用 public class MainActivity extends Activity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_flowlayout);         FlowLayout flow_layout = …
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51500304 本文出自:[openXu的博客] 目录: 简单实现水平排列效果 自定义LayoutParams 大致明确布局容器的需求初步定义布局属性 继承LayoutParams定义布局参数类 重写generateLayoutParams 在布局文件中使用布局属性 在onMeasure和onLayout中使用布局参数 支持layout_margin属性 通过前面几篇博客,我们能够自定义出一…
转载请注明出处 http://blog.csdn.net/wingichoy/article/details/47832151 几天前在慕课网上看到鸿洋老师的 自定义卫星菜单,感觉很有意思,于是看完视频以后,自己也尝试写了一遍,并且添加了可拖拽效果(光看视频是不管用的,一定要自己动手做!切记不要照着抄代码). 有兴趣的同学可以去慕课网看看(并非广告):http://www.imooc.com/learn/300 自定义控件这个玩意呢,就得考多练,于是又写了一个抽屉效果的菜单,也是比较简单的. 老…
ES5中实现异步的常见方式不外乎以下几种: 1. 回调函数 2. 事件驱动 2. 自定义事件(根本上原理同事件驱动相同) 而ES6中的Promise的出现就使得异步变得非常简单.promise中的异步是这样的: * 每当我需要执行一次异步操作的时候,我都需要new一个promise对象 * 每一个异步操作的Promise对象都需要设定一个成功执行的条件和成功的回调.一个失败的条件和失败的回调 * Promise对象可通过执行then()方法获得成功的回调信息 * Promise对象可通过执行ca…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37567907 逛eoe发现这样的UI效果,感觉很不错,后来知道github上有这么个开源项目~~~~当然本篇不是教你如何使用这个开源项目,而是教你如何自己通过自定义ViewGroup写这样的效果,自定义ViewGroup也是我的痛楚,嘿嘿,希望以此可以抛砖引玉~~ 效果图: 1.实现思路 通过效果图,会有几个问题: a.动画效果如何实现 可以看出动画是从顶点外外发射的,可能有人…
从网上学习了hyman大神的卫星菜单实现,自己特意亲自又写了一编代码,对自定义ViewGroup的理解又深入了一点.我坚信只有自己写出来的知识才会有更加好的的掌握.因此也在自己的博客中将这个卫星菜单的案例给实现了.废话不多说,直接进入正题吧. 该案例的完整代码以及相关的图片素材下载链接如下: http://download.csdn.net/detail/fuyk12/9233573 一.效果展示 首先上一张效果图,如下: 这是在模拟器上的运行效果,有点卡顿.在真机上,是会很流畅,而且动画效果显…
首先我们在平时开发中使用databinding的时候大部分都是在Activity或者fragment中,但我们一旦在自定义ViewGroup中使用的时候就会出现问题 问题描述: 我们在自定义LinearLayout中使用DataBinding的时候: 1:无法使用setContentView(Activity activity, int layoutId) 2:使用inflate(LayoutInflater inflater, int layoutId,@Nullable ViewGroup…
前言 在我们的实际应用中, 经常需要用到自定义控件,比如自定义圆形头像,自定义计步器等等.但有时我们不仅需要自定义控件,举个例子,FloatingActionButton 大家都很常用,所以大家也很经常会有一种需求,点击某个 FloatingActionButton 弹出更多 FloatingActionButton ,这个需求的一般思路是写 n 个 button 然后再一个个的去设置动画效果.但这实在是太麻烦了,所以网上有个 FloatingActionButtonMenu 这个开源库,这就是…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38352503 ,本文出自[张鸿洋的博客] 1.概述 上一篇已经基本给大家介绍了如何自定义ViewGroup,如果你还不了解,请查看:Android 手把手教您自定ViewGroup ,本篇将使用上篇介绍的方法,给大家带来一个实例:实现FlowLayout,何为FlowLayout,如果对Java的Swing比较熟悉的话一定不会陌生,就是控件根据ViewGroup的宽,自动的往右…
[置顶] [Android]快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup 标签: androidAdapter快速开发0耦合 2016-12-12 08:38 3898人阅读 评论(8) 收藏 举报  分类: Android(25)   设计模式(3)   快速开发(3)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   转载请标明出处:  http://blog.csdn.net/zxt0601/artic…
上次对自定义ViewGroup中的onLayout()方法进行了基础巩固[http://www.cnblogs.com/webor2006/p/7507284.html],对于熟知自定义ViewGroup的人应该都知道还有另外一个非常重要的方法在自定义ViewGroup中是不可获缺的,那就是onMeasure(),所以这次好好学习下它,为了更激情的学习,它的学习会融入到一个实际案列中,先贴一下该案例的最终效果: 基础框架搭建: 上面是纯界面布局显示,木有一些触摸事件,不过之后会加入触摸事件滴,一…
自定义ViewGroup这个是在android中自定义控件中不可获缺的很重要的一部分,关于它的意义这里就不过多阐述了,为了在未来深入上继续走下去,所以先把基础给打牢. 这篇主要是理解ViewGroup中如何去通过onLayout方法去布局添加的子控件,那另外一个自定义ViewGroup的也很重要的方法onMesure方法呢?下篇再来学习,一步步来,首先先新建一个ViewGroup,搭建基础框架: 其中需要实现ViewGroup的抽象方法onLayout(): 然后在MainActivity中布局…
(原) 第一篇,从一个最简单的例子开始 1.netty是干什么,怎么用,这里不作介绍,先从一个例子来了解它, netty 5.0以上的版本被废弃了,以下例子从4.1.10.Final版本开始. 2.一共3个类 1> TestServer 用于启动服务,这里有二个EventLoopGroup,bossGroup和workerGroup,bossGroup接收来自客户端的请求,然后将这些请求再转交给workerGroup处理. 2> TestServerInitializer 服务端初始化,用于收…