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吗?这就是你要找的东西吗?它能让你更接近解决问题吗?

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...