我正在寻找一个行为类似于画廊小部件但垂直滚动而不是水平滚动的小部件。我到处搜索,显然答案是不存在这样的预制小部件。
所以我对自己说,哦,好吧,我会在android源代码中查看gallery类并将其修改为垂直滚动。没那么容易。android SDK 隐藏了很多东西(可以理解为框架维护),但它也使得扩展小部件变得非常困难。例如,gallery 类使用来自其父级 AbsSpinner(mSelectedPosition 等)及其父级的父级等的大量成员变量,从应用程序开发人员的角度来看,这些变量根本无法访问。如果无法访问这些成员变量,我就无法使用来自画廊类的类似代码供我自己使用。
没有向上移动继承链并将这些父类的源代码全部放在我的项目中,或者在不使用已经解决问题的现有框架小部件的情况下从头开始编写小部件,我找不到一种方法来获得垂直滚动画廊。
有没有更好的方法?为什么android框架让扩展widget变得如此困难?