您如何扩展android.widget包中的类似DayPickerPagerAdapter的Android类?

时间:2018-07-05 19:48:36

标签: android widget subclass

我想从android.widget包扩展DayPickerPagerAdapter模块。这可能吗?

我想做的是创建自己的DatePickerDialog(我还将需要扩展它),在其中我可以突出显示多天,而不是仅突出显示选定的日期。

我是否只需要复制这些android类的源代码?如果是这样,那是合法的吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,从技术上讲,您可以通过在同一包中创建新类来扩展这些类(创建文件夹结构以匹配要扩展的包),这意味着您将创建以下内容:

/src/main/java/android/widget/CustomDayPickerPagerAdapter.java

...,这将允许您扩展DayPickerPagerAdapter类,因为它是程序包私有的。

但是,这不能保证您将能够以所需的方式成功地操作组件的内部,因为许多功能很可能是private,这意味着您出局了好运。

当然,也可以按照您的建议复制这些组件的源代码。这是完全合法的,因为整个Android项目都是开源的(Apache 2.0许可)。缺点是必须定期从上游检查更新和错误修正,并且必须将它们重新集成到您的自定义组件中。