简单实现GridView的Item逐个加载和动画效果

 用布局文件实现

1. 首先在GridView控件中加入layoutAnimation属性。

<GridView android:id="@+id/gridView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="3"
android:gravity="center" 

android:layoutAnimation="@anim/gridview_anim" />

2.在res/anim下新建文件gridview_anim.xml

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:animation="@anim/gridview_item_anim"
android:animationOrder="normal"
android:delay="0.5" /> 

3.在res/anim下新建文件gridview_item_anim.xml ,注意逐个加载的延时时间要和动画持续时间相同。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="500" /> </set>

上述要求gridview加载的图片不能是网络异步加载的图片,否则控件显示完成后图片还没加载出来,也就没有动画效果。我们可以换一个思路考虑,我们可以在异步加载图片后给ImageView加上动画效果。

1. 在返回图片处加上如下代码(iv是一个ImageView对象,img是返回的图片)

iv.setImageBitmap(img); iv.setAnimation(AnimationUtils.loadAnimation(context, R.anim.gridview_item_anim)); 

2.在adapter的getview方法中加入延时函数

new Handler().postDelayed(new Runnable() {
@Override
 public void run() {
     // TODO Auto-generated method stub
     //图片加载方法
   }
 }, (position+1)*1000); 

注意每一个getview方法里必须实例化一个imageView对象。 延时的时间不能相同,否则多个线程同时延时也不能实现逐个加载。 也可以用消息队列实现变同步为异步。

时间: 2024-08-08 13:49:40

简单实现GridView的Item逐个加载和动画效果的相关文章

使用CSS3实现超炫的Loading(加载)动画效果(转)

使用CSS3实现超炫的Loading(加载)动画效果 SpinKit 是一套网页动画效果,包含8种基于 CSS3 实现的很炫的加载动画.借助 CSS3 Animation 的强大功能来创建平滑,易于定制的动画.SpinKit 的目标不是提供一个每个浏览器都兼容的解决方案,而是给现代浏览器提供更优的技术实现方案和更佳的使用体验.(为保证最佳的效果,请在 Chrome.Firefox 和 Safari 等现代浏览器中浏览) Loading 动画效果一 HTML 代码: 1 2 3 4 5 6 7 <

简单的“加载中”动画效果

在日常开发过程中,处理一些延迟操作的时候,经常需要显示一个"加载中"对话框来来表示程序正在请求或正在处理.那么如何写一个最简单的动画效果呢? 这里我写了个demo: MainActivity: public class MainActivity extends Activity {     //ProgressDialog用于显示加载对话框用     private ProgressDialog progressDialog = null;     //显示结果用     privat

使用CSS3实现超炫的Loading(加载)动画效果

SpinKit 是一套网页动画效果,包含8种基于 CSS3 实现的很炫的加载动画.借助 CSS3 Animation 的强大功能来创建平滑,易于定制的动画.SpinKit 的目标不是提供一个每个浏览器都兼容的解决方案,而是给现代浏览器提供更优的技术实现方案和更佳的使用体验.(为保证最佳的效果,请在 Chrome.Firefox 和 Safari 等现代浏览器中浏览) Loading 动画效果一 HTML 代码: <div class="spinner"> <div c

如何使用SVG生成超酷的页面预加载素描动画效果

在线演示 本地下载 1 SVG简介 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 2 SVG的特点 与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于: SVG 图像可通过文本编辑器来创建和修改 SVG 图像可被搜索.索引.脚本化或压缩 SVG 是可伸缩的 SVG 图像可在任何的分辨率下被高质量地打印 SVG 可在图像质量不下降的情况下被放大 3 浏览器支持 Internet Exp

多种方法实现Loading(加载)动画效果

当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次. 既能让用户知道正在提交中,也能防止二次提交,好处多多呢. 上面的这个圈圈是会滚动的.简单点的话,可以直接用GIF动态图片实现.不过现在已经有了CSS3和HTML5了,多了好几种高大上的实现方式. 这里先来介绍几个动画的在线demo,第一个是HTML5 Boilerplate中的Effeckt.css,第二个是Animate.css. 下面一一列出,如果要结合按钮的话,可自行修改下CSS或JS等文件

(转)多种方法实现Loading(加载)动画效果

当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次. 既能让用户知道正在提交中,也能防止二次提交,好处多多呢. 上面的这个圈圈是会滚动的.简单点的话,可以直接用GIF动态图片实现.不过现在已经有了CSS3和HTML5了,多了好几种高大上的实现方式. 这里先来介绍几个动画的在线demo,第一个是HTML5 Boilerplate中的Effeckt.css,第二个是Animate.css. 下面一一列出,如果要结合按钮的话,可自行修改下CSS或JS等文件

CSS3 Loading(加载)动画效果

1.html 部分 <div class="spinner"> <div class="rect1"></div> <div class="rect2"></div> <div class="rect3"></div> <div class="rect4"></div> <div class=&

使用 CSS3 实现超炫的 Loading(加载)动画效果

Loading 动画效果一 HTML 代码: 1 2 3 4 5 6 7 <div class="spinner">   <div class="rect1"></div>   <div class="rect2"></div>   <div class="rect3"></div>   <div class="rect4&qu

用纯CSS实现加载中动画效果

HTML <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> CSS .pswp__preloader__icn { opacity:0.75; width: 24px; he