微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Horizo​​ntalScrollView还是Carrousel?

我想创建一个Horizo​​ntalScrollView,但它有一些“效果”,比如这个 example,或者这个 other example.事情是我不知道我必须使用多少项;我从API获取ImageView,因此它应该是动态的.我怎样才能产生这样的效果:如果它被选中,下面的TextView会变得更大?我在SO上找到的最接近的例子是 here.这正是我需要的,但我已经测试了给出的答案,但它对我不起作用……但问题中的图像正是我想要的.任何人都可以指导我这样做吗?

假设我将使用5 ImageView仅测试来测试它,所以如何动态添加这些ImageView的例子也对我有好处.

一个例子是Snapchat APP但不同之处在于我想在选择中添加一些效果,比如把它做大或什么的.

编辑

我想得到一个示例,如何像一个自定义Horizo​​ntalScrollView与布局(适配器)和最重要的,如果它可能添加一个效果点击一个,我想要适配器,因为我需要得到该项目点击当然.我认为应该使用RecycleView作为@UncaughtException的东西对我说,因为我不知道我会得到多少图像,我将不得不戴上我的APP所以我认为这是解决方案.

这将是Snapchat HoritzontalScrollViewThis image from a SO question间的混合

解决方法

步骤1:

ViewPager中水平显示图像.

第2步:

ScaleAnimation类应用于单击的项目以放大它.这可以在ViewPager的PagerAdapter的instantiateItem()方法中完成.

此外,还有一些现成的开源小部件可用,如CoverFlowFancyCoverFlow.您可能需要查看源代码以了解它们的工作原理.

编辑:

首先,关于如何处理未知数量的图像的问题,你应该意识到在所有这些小部件(ListView,GridView,ViewPager等)中,来自API的对象的数量一开始是未知的,即它变为知道什么时候收到API响应.因此,如果您首先以正常方式实现ViewPager,您将看到如何处理它.基本上,您必须使用适配器和模型对象来填充ViewPager或ListView. API响应将是JSON或XML,解析后,您将知道确切的项目数.

所以我认为你应该首先以正常方式实现ViewPager.可以使用任意数量的示例.两个有趣的是this onethis 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:

根据你给出的两个例子,你看过thisthis吗?这就是你要找的东西吗?它能让你更接近解决问题吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐