xml – Android自定义视图构造函数
我正在了解如何使用自定义视图:
http://developer.android.com/guide/topics/ui/custom-components.html#modifying 描述说:
有更好的描述吗?我一直在努力弄清楚构造函数应该是什么样子,我提出了4种可能的选择(见帖子末尾的示例)。我不知道这4个选择做什么(或不做),为什么我应该实现它们,或什么参数意味着。有这些的描述吗? public MyCustomView() { super(); } public MyCustomView(Context context) { super(context); } public MyCustomView(Context context,AttributeSet attrs) { super(context,attrs); } public MyCustomView(Context context,AttributeSet attrs,Map params) { super(context,attrs,params); }
你不需要第一个,因为那只是不会工作。
第三个将意味着您的自定义视图将可以从XML布局文件使用。如果你不在乎,你不需要它。 第四个是错的,AFAIK。没有使用Map作为第三个参数的View构造函数。有一个接受一个int作为第三个参数,用于覆盖小部件的默认样式。 我倾向于使用this()语法来组合这些: public ColorMixer(Context context) { this(context,null); } public ColorMixer(Context context,AttributeSet attrs) { this(context,0); } public ColorMixer(Context context,int defStyle) { super(context,defStyle); // real work here } 你可以在this book example看到这段代码的其余部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |