android构建自定义的视图组件
2010-05-10 19:48:00 来源:WEB开发网android构建自定义的视图组件
android提供了精巧和有力的组件化模型构建用户的UI部分。主要是基于布局类:View和ViewGroup。在此基础上,android平台提供了大量的预制的View和 ViewGroup子类,即布局(layout)和窗口小部件(widget)。可以用它们构建自己的UI。
如果没有符合你需求的预制窗口小部件,你可以创建自己的视图子类。如果只是对已存在的窗口小部件或者布局做小的调整,只需继承该类,覆盖相关的方法。
创建你自己的View子类可以更精确控制视图元素的外观和功能。
可创建完整的自定义渲染视图类型,比如创建一个2d的控制条;
可将一组视图组件合成为一个新的单一组件,比如双选的列表,选择省和市;
覆盖EditText组件,比如notepad tutorial中的示例;
捕捉其他事件比如按键事件,并执行自定义的处理方式,比如在游戏中。
基本方法
总的来说,创建自定义的视图组件步骤是:
创建自己的类,继承已经存在的View类或者子类;
覆盖超类的一些方法。这些超类的方法一般以“on”开头,比如onDraw()方法等等;
使用新创建的扩展类。一旦完成,你的新扩展类就可以用于所有View使用的地方。
注意:扩展类可以定义为内部类,在你创建的Activity类之中。这很有用,因为这样可以控制外界的访问,但是这不是必须的,因为你可能需要一个public的自定义View类供更广泛的使用。
完全自定义组件
完全自定义的组件可以创建图形组件显示在你需要的任何地方。
步骤如下:
可以继承的最通用的视图类是 View,可以继承它创建自定义的组件超类;
可以提供构造方法,并通过xml文件获取属性值和参数;
创建自己的事件监听器,属性访问器和编辑器等等;
一般情况下会覆盖onMeasure()方法和onDraw()方法,这会让组件显示一些东西。如果都用默认的行为,onDraw()方法不做任何事情,onMeasure()方法设置一个100×100的区域;
根据需求覆盖其他 on…方法。
扩展onDraw()和onMeasure()方法
onDraw()方法提供给你一个Canvas对象,在它之上可以实现任何你想要的东西,通过2d图形api。比如其他标准的后者自定义的组件,风格化的文字后者其他。
注意:这里不提供3d图形api的支持。如果你需要3d
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接