Android 滑动效果高级篇(八)—— 自定义控件

自定义控件,较常用View、ViewGroup、Scroller三个类,其继承关系如下:


本示例自定义控件,实现一个Gallery效果,并添加了一个显示View个数和位置的bar条,效果图:



自定义控件,包含通过继承实现的自定义控件和自定义控件属性两部分,即控件和属性

1、自定义属性

自定义属性,分为定义属性、解析属性、设置属性三部分,具体步骤:

首先,在res/valus/attrs.xml属性资源文件中,定义控件属性


然后,在自定义控件的代码中,解析自定义的属性,如在PagerBar.java:


最后,在布局文件中设置属性,如在main.xml


其中,在布局中间main.xml中,需要注意:

xmlns:myapps="http://schemas.android.com/apk/res/com.homer.mycontrol"

定义属性时,在declare-styleable的name中,需要包含com.myapps.widget.PagerBar,表示自定义的控件PageBar是widget子类,myapps是xmlns解析标记

解析属性时,在TypedArray中,需要包含R.styleable.com_myapps_widget_PagerBar,横线替换了圆点.

定义属性时,在com.homer.mycontrol.PagerBar中,需要包含myapps:roundRectRadius="2dip",加上myapps解析标记


2、自定义控件PagerBar

自定义PagerBar,在图片下方用来显示图片滑到了第几页,即上面效果图(图2、图3)中的下部银白色细条,具体实现:


3、自定义控件Pager

自定义控件Pager,继承自ViewGroup,用来显示图片的,类似于Gallery,实现主要部分包含:

A、自定义属性解析

B、Pager容器控件Scroller滑动页设置与控制

C、容器状态保存(onSaveInstanceState)

D、容器事件监听接口


详细实现如下:

A、自定义属性解析


B、Pager容器控件Scroller滑动页设置与控制



C、容器状态保存(onSaveInstanceState)


D、容器事件监听接口



代码下载



参考推荐:

Android中自定义属性的使用

Android中自定义属性的格式详解

Scroller(Android)  Scroller(cnblog)

Android Parcelable

Android左右滑动加载分页


posted @ 2012-04-20 23:01  SpringMVC+Hibernate  阅读(305)  评论(0编辑  收藏  举报
友情链接:厦门事业单位