你如何扩展像Android.widget包中的DatePicker PagerAdapter这样的Android类?

问题描述 投票:0回答:1

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

我想要做的是创建我自己的DatePickerDialog(我还需要扩展),我可以突出显示多天,而不是只突出显示所选日期。

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

谢谢!

android widget subclass
1个回答
0
投票

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

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

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

但是,这并不能保证你能够以你想要的方式成功地操作组件的内部,因为很多功能很可能是private,这意味着你运气不好。

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

© www.soinside.com 2019 - 2024. All rights reserved.