实现 ViewPager

2016-2-22 chenhui 自定义控件

实现 ViewPager 的滑动功能是学习自定义控件很好的一个例子,本文一步步介绍如何实现 ViewPager 的滑动功能,了解了滑动功能如何实现,便能了解比如 QQ 侧滑菜单、APP 的下拉引导页是怎么实现的。 ViewPager 实际上是一个包含了若干个页(View)的 ViewGroup,所以我们实现他时,必须先继承 ViewGroup: public class MVi...

阅读全文>>

评论(0) 浏览(172)

MeasureSpec

2016-2-17 chenhui 自定义控件

MeasureSpec 在 View 的绘制中,起到记录 View 的大小和位置信息的作用。 他是一个 32 位的 int 值,其高 2 位是测量模式,其余的位是 View 的高/宽,什么是测量模式?我们知道,在 Android 中,View 的大小可以是一个具体值,也可以是 match_parent 或 wrap_content,这三种大小都有自己的测量模式,高 2...

阅读全文>>

评论(0) 浏览(164)

自定义 View 总结

2015-11-12 chenhui 自定义控件

所有酷炫的自定义控件,所玩的把戏无非就是:覆盖、隐藏、动画。 所谓的覆盖,就是拿一个 View 覆盖在另一个 View 上面。比如一些看起来很神奇的弹窗,其实就是部分透明,这样看起来就像是一个自定义的小弹窗。 所谓的隐藏,就是指 View 很高很宽,但是只显示他的一部分,然后根据事件来显示不同的部分。 上面这两种套路,再加上一个动画,无论是什么炫酷的控件都能...

阅读全文>>

评论(0) 浏览(150)

自定义ViewGroup

2015-11-12 chenhui 自定义控件

所谓的 ViewGroup,就是一个用来存放 View 的 View,在布局文件中表现为一个标签对中可以继续放其他元素。 要知道,ViewGroup 本质上也是一个 View,只是他能够存放其他的 View。我们自定义一个普通 View 时,只需要重新实现他的 onMeasure() 和 onDraw() 即可,前者用来告诉系统自己的大小,后者用来绘制自己。 实...

阅读全文>>

评论(0) 浏览(293)

使用自定义属性的自定义View

2015-10-11 chenhui 自定义控件

在我们新建一个 Android 项目时,其默认创建的布局文件的最外层元素总有这么一个属性:     xmlns:android="http://schemas.android.com/apk/res/android" xmlns 这个属性指定的是元素使用的命名空间,这个命名空间决定了我们可以使用哪些 XML 属性,而他后面的 " a...

阅读全文>>

评论(0) 浏览(164)

自定义View

2015-10-10 chenhui 自定义控件

我们可以通过组合控件和扩展原有控件两种方式来实现自定义控件,本文只介绍扩展原有控件的方法。 扩展原有控件,要说起来其实非常简单,就是定义一个继承自需拓展的控件的类,然后在需要使用这个控件的 XML 文件内写他的类全名或者直接 new 他即可,当然这两种使用方法有各自的构造函数:对于前者,构造函数除第一个 context 参数外,必须要有第二个 AttributeSet 类型的 at...

阅读全文>>

评论(0) 浏览(263)

Copyright ©2015-2016 freehui All rights reserved