Android版本的替代视图而不是Stackviews低至android 3.0

eat*_*eat 4 android

我试图StackView在我的应用程序中实现行为,但我相信这个小部件只能从Android 3.0开始.我是Android OS的中级开发人员,因此对自定义视图的了解有限.

有人可以提供一些关于如何Stackview在Android 2.2/2.3中实现的指针吗?

Jos*_*arl 7

在API级别11(3.0)之前,SDK中没有具有此确切功能的组件,因此您需要创建自己的自定义视图以获得所需的效果.

最简单/最快捷的方法是创建一个扩展FrameLayout的自定义视图,因为FrameLayout的子项自动堆叠在一起,并且您的自定义视图将继承此行为.您还需要覆盖子项的布局方式,以便根据子项在堆栈中的位置调整子项的x和y位置.

您必须使用自己的方法转到下一个/上一个视图 - 您必须通过重新排序子视图(将它们全部删除,然后按新顺序添加它们)来执行此操作.

我所描述的解决方案不包括使用AdapterViews获得的视图回收,因此不适合大量堆叠的项目.

或者,找到StackView源代码,并将其复制到你的项目,虽然这可能还涉及大量其他Android类复制到你的项目,因为StackView无疑将访问是从部件只访问超类的私有成员包(没有反射).