假设我将使用5 ImageView仅测试来测试它,所以如何动态添加这些ImageView的例子也对我有好处.
另一个例子是Snapchat APP但不同之处在于我想在选择中添加一些效果,比如把它做大或什么的.
编辑
我想得到一个示例,如何像一个自定义HorizontalScrollView与布局(适配器)和最重要的,如果它可能添加一个效果点击一个,我想要适配器,因为我需要得到该项目点击当然.我认为应该使用RecycleView作为@UncaughtException的东西对我说,因为我不知道我会得到多少图像,我将不得不戴上我的APP所以我认为这是解决方案.
这将是Snapchat HoritzontalScrollView和This image from a SO question之间的混合
解决方法
第2步:
将ScaleAnimation
类应用于单击的项目以放大它.这可以在ViewPager的PagerAdapter的instantiateItem()方法中完成.
此外,还有一些现成的开源小部件可用,如CoverFlow
和FancyCoverFlow
.您可能需要查看源代码以了解它们的工作原理.
编辑:
首先,关于如何处理未知数量的图像的问题,你应该意识到在所有这些小部件(ListView,GridView,ViewPager等)中,来自API的对象的数量一开始是未知的,即它变为知道什么时候收到API响应.因此,如果您首先以正常方式实现ViewPager,您将看到如何处理它.基本上,您必须使用适配器和模型对象来填充ViewPager或ListView. API响应将是JSON或XML,解析后,您将知道确切的项目数.
所以我认为你应该首先以正常方式实现ViewPager.可以使用任意数量的示例.两个有趣的是this one和this one.它们对你的情况很有趣,因为它们还包含如何放大图像的示例代码.
现在遇到第二个问题:我们如何扩大图像.为此,一种方法是使用ScaleAnimation类.例如,假设您想围绕其中心放大100%的图像:
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f,1.5f,1.0f,Animation.RELATIVE_TO_SELF,0.5f,0.5f); scaleAnimation.setDuration(200); scaleAnimation.setInterpolator(new AccelerateDecelerateInterpolator()); imageView.startAnimation(scaleAnimation);
我会在ViewPager的PagerAdapter的instantiateItem()方法中的图像上使用此代码.这应该工作.或者您可以在前两个示例之一中尝试缩放动画方法.
我担心你将不得不尝试使用这些例子作为指南创建一个工作项目.然后我们可以进一步讨论您遇到的任何其他问题.我确信这可以很容易地完成,我知道你可以做到.最好 …
编辑2: