`
presses
  • 浏览: 121949 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

Building Custom Components/建立自定义组件

阅读更多

一、android除了内建的众多组件(widget/layout)外,还提供基于View和ViewGroup的成熟组件扩展模型,让你构建自已的组件。

 

二、常用的内建widget有:Button、TextView、EditText、ListView、CheckBox、RadioButton、Gallery、Spinner、AutoCompleteTextView、ImageSwitcher、TextSwitcher。常用的内建layout有:LinearLayout、FrameLayout、RelativeLayout。

 

三、需要新建自定义widget的情况有以下几种:完全自定义的功能及外观,像时钟、音量控制等;把多个内建widget组合在一起形成新的一个大组件;

 

四、简单的新建组件方法:新建一个类,继承自view或它的子类。重写父类的部份方法。

 

五、完全自定义组件的方法:继承view;重写onMeasure和onDraw方法。默认下onDraw不做任何事情,onMeasure设置控件大小为100*100。最后重写一些on方法及添加相关属性。

 

六、重写onDraw。onDraw方法会传入一个canvas对像。你可以用它来来设置控件的包观方面的事情,包括2d graphics。(如果要用3d graphics,请用SurfaceView代替View)。

 

七、重写onMeasure。在onMeasure方法中调用setMeasuredDimension(int width,int height)方法 ,告诉容器当前控件的大小。

 

八、创建组合型自定义组件。继承layout,然后用xml或编程方式放置各种组件;从构造方法中得到相关参数,并传递给各组件;按需要,重写一些事件方法(onXXX);在创建组合型自定义组件时重写onDraw与onMeasure不是必需的。

 

九、在xml中调用自定义组件。组件为内部类:根据类型,标签写View/ViewGroup。然后在class属性中填写具体的类,例如 <View class="com.humanmonth.CusComp$MyComp。组件为一般类:标签直接写全类名。

 

0
0
分享到:
评论

相关推荐

    building-web-components:有关Web Components和Stencil的学习库

    在"building-web-components-master"这个压缩包中,你可能会找到关于如何设置和使用StencilJS的项目结构、配置文件、组件开发示例以及测试工具等内容。通过深入学习和实践这个库,你可以掌握创建高效、可复用的Web ...

    Intermediate.iOS.Programming.with.Swift.iOS.11.and.Swift.4

    "Building Custom UI Components Using IBDesignable and IBInspectabl"章节则详细介绍了如何创建可视化的自定义UI组件,让设计师和开发者可以更直观地看到组件效果。 综上所述,本书不仅涵盖了iOS开发的各个方面,...

    tapestry4.0简易教程

    #### 四、自定义组件(Creating Custom Components) **4.1 基本代码** - **概念理解:** 创建自定义组件的基础结构。 - **具体实践:** 定义一个组件类,并在其中实现必要的方法和属性。 **4.2 组件嵌套** - **...

    Tapestry字典0.1.pdf

    #### 四、自定义组件 (Creating Custom Components) **4.1 基本代码** - **实现**: 定义一个新的组件类,继承自`AbstractComponent`。 - **示例**: `public class MyCustomComponent extends AbstractComponent {.....

    Maven权威指南 很精典的学习教程,比ANT更好用

    Building an Assembly 12.2.3. Assemblies as Dependencies 12.2.4. Assembling Assemblies via Assembly Dependencies 12.3. Overview of the Assembly Descriptor 12.4. The Assembly Descriptor 12.4.1. ...

    asp.net core英文版教程

    - **View Components**:视图组件的使用。 - **Creating a Custom View Engine**:创建自定义视图引擎的方法。 - **Controllers**:控制器层的设计与实现。 - **Controllers, Actions, and Action Results**:...

Global site tag (gtag.js) - Google Analytics