我正在创建一个 Android 应用程序。我需要draw
在许多 UI 类上重写该方法以创建自定义外观。这些类都是子类View
。我想知道最好的方法是什么。我希望能够尽可能多地重用代码,所以我正在寻求组织方面的帮助。正如我现在所看到的,我有两个选择:
选项 1 - 将一切子类化
如果我想使用LinearLayout
,我创建CustomLinearLayout
. 如果我想使用ImageView
,我创建CustomImageView
. 在这些自定义类中的每一个上,我都以draw
完全相同的方式覆盖。这似乎效率不高,因为我重复代码并扩展了许多几乎什么都不做的类。
选项 2 - 超类的子类
我最初的想法是扩展View
和创建CustomView
,因为它已经是我想要使用的所有类的超类。但是,这不起作用,因为我要使用的所有现有子类仍在扩展View
,而不是CustomView
.
有一个更好的方法吗?我错过了什么吗?