我怎样才能 replace/customize 一个 Android API class?
How can I replace/customize an Android API class?
我还找不到任何相关指导。
我想对 Android API class (ViewPager) 做一点小改动,然后将其导入到我的项目中。我想自定义一个不是public的方法的参数。
我试图扩展此 class 并覆盖该方法,但由于它受到保护,我无法从我的包中访问 super.method(),所以我不知道如何继续。
我在 Android Studio 中反编译了它,尝试复制并粘贴 class,但它不起作用。我现在一无所知。
如何实现?
这是我尝试过的:
您可以在AOSP项目中找到ViewPager的源码:https://android.googlesource.com/platform/frameworks/support/+/android-5.1.1_r2/v4/java/android/support/v4/view/ViewPager.java并复制到您的项目中。然后您可以根据需要对其进行修改和扩展。
但是,如果您学习本课程,您将无法从新 AOSP 版本的 ViewPager 获得更新。我强烈建议寻找另一种方法来实现您的目标,而无需像这样复制 ViewPager。
你拥有的可能性:
- 扩展 class 并覆盖 public 或受保护的方法。
- 从 Android 源代码复制并粘贴整个 class,进行必要的更改。
- 使用反射更改行为。
关于 ViewPager 的速度:检查以下 SO 问题:
Slowing speed of Viewpager controller in android
Android: velocity-based ViewPager scrolling
我还找不到任何相关指导。
我想对 Android API class (ViewPager) 做一点小改动,然后将其导入到我的项目中。我想自定义一个不是public的方法的参数。
我试图扩展此 class 并覆盖该方法,但由于它受到保护,我无法从我的包中访问 super.method(),所以我不知道如何继续。
我在 Android Studio 中反编译了它,尝试复制并粘贴 class,但它不起作用。我现在一无所知。
如何实现?
这是我尝试过的:
您可以在AOSP项目中找到ViewPager的源码:https://android.googlesource.com/platform/frameworks/support/+/android-5.1.1_r2/v4/java/android/support/v4/view/ViewPager.java并复制到您的项目中。然后您可以根据需要对其进行修改和扩展。
但是,如果您学习本课程,您将无法从新 AOSP 版本的 ViewPager 获得更新。我强烈建议寻找另一种方法来实现您的目标,而无需像这样复制 ViewPager。
你拥有的可能性:
- 扩展 class 并覆盖 public 或受保护的方法。
- 从 Android 源代码复制并粘贴整个 class,进行必要的更改。
- 使用反射更改行为。
关于 ViewPager 的速度:检查以下 SO 问题:
Slowing speed of Viewpager controller in android
Android: velocity-based ViewPager scrolling