在GridView上使用动画

Android基于GridView实现的翻牌游戏效果 好久没有写博客了,上一篇博文距现在都有七个多月了,实在是惭愧。但是这段时间仍然是在忙于项目或是自我充电。这几天实现了一个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享。   一、整体介绍    GridView设置15个Item(5*3),刚好满屏显示(没有ScrollBar),没有点击某个Item前可以使用摇一摇功能对GridView中的图片进行切换,点击某个Ite 阅读详情



 

 

 

准备12张图片名字分别为:png_1、png_2、png_3、png_4、png_5、png_6、

                      png_7、png_8、png_9、png_10、png_11、png_12。

 

 

在main.xml中:

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:background="#000000">

  <GridView

     android:id="@+id/myGridView"

     android:layout_width="fill_parent"

     android:layout_height="wrap_content"

     android:numColumns="3"

     android:stretchMode="columnWidth"

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

</LinearLayout>

 

 

 

 

在res/anim下新建anim_set.xml:

 

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

  <alpha

     android:fromAlpha="1.0"

     android:toAlpha="0.0"

     android:duration="3000" />

  <scale

     android:fromXScale="1.0"

     android:toXScale="0.0"

     android:fromYScale="1.0"

     android:toYScale="0.0"

     android:pivotX="50%"

     android:pivotY="50%"

     android:startOffset="100"

     android:repeatCount="3"

     android:duration="3000" />

</set>

 

 

 

 

在res/anim下新建layout_animation.xml:

 

<?xml version="1.0" encoding="utf-8"?>

<layoutAnimation

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:delay="0.5"

  android:animationOrder="random"

  android:animation="@anim/anim_set"/>

 

 

 

 

 

 

 

 

在ImageAdapter.java中:

 

package com.li.animation;

 

import java.lang.reflect.Field;

import java.util.ArrayList;

import java.util.List;

 

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.view.ViewGroup.LayoutParams;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

 

public class ImageAdapter extends BaseAdapter {

  private Context context = null;

  private List<Integer> picRes = new ArrayList<Integer>() ;

  public ImageAdapter(Context context) {

     this.context = context;

     this.initPic();

  }

 

  public int getCount() {

     return this.picRes.size();

  }

 

  public Object getItem(int position) {

     return this.picRes.get(position);

  }

 

  public long getItemId(int position) {

     return this.picRes.get(position).intValue();

  }

 

  public View getView(int position, View convertView, ViewGroup parent) {

     ImageView img = new ImageView(this.context);

     img.setBackgroundColor(0xFF000000) ;

     img.setImageResource(this.picRes.get(position));

     img.setScaleType(ImageView.ScaleType.CENTER);

     img.setLayoutParams(new GridView.LayoutParams(

         LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

     img.setPadding(3, 3, 3, 3);

     return img;

  }

  private void initPic(){ // 利用反射加载所有的图片

     Field [] fields = R.drawable.class.getDeclaredFields() ;

     for (int x = 0; x < fields.length; x++) {

       if(fields[x].getName().startsWith("png_")){

         try {

           this.picRes.add(fields[x].getInt(R.drawable.class)) ;

         } catch (IllegalArgumentException e) {

         } catch (IllegalAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

         }

       }

     }

  }

}

 

 

 

 

 

 

 

在MyAnimationDemo.java中:

 

package com.li.animation;

 

import android.app.Activity;

import android.os.Bundle;

import android.widget.GridView;

 

public class MyAnimationDemo extends Activity {

  private GridView myGridView = null ;

 

  @Override

  public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);

     super.setContentView(R.layout.main);

     this.myGridView = (GridView) super.findViewById(R.id.myGridView) ;

     this.myGridView.setAdapter(new ImageAdapter(this)) ;

  }

}

 

GridView展开动画 GridView的Item向四周展开,动画很简单,自己根据自己的功能需求去扩展吧 立即下载

相关推荐

android自定义控件实现自动换行效果

自定义ViewGroup 实现类似于电商平台上的商品属性显示效果

android gridview 动画效果,Android GridView实现动画效果实现代码

Android GridView实现动画效果实现代码发布时间:2020-09-28 23:43:21来源:脚本之家阅读:108作者:lqhAndroid GridView实现动画效果项目中用到的一些动画,GridView的Item依次从屏幕外飞入到相应位置,附上相关代码:MainActivity.Javapackage com.mundane.gridanimationdemo;import an...

weixin_30771489的博客 267

用GridView加动画写了一个滑动放大显示选中图片

用GridView加动画写了一个滑动放大显示选中图片 项目需求在制定大小区域写一个横向菜单栏,菜单栏整体不能移动,GalleryFlow画廊不能满足需求,就自己重写写了一个)划到当图片时换个图片且动画效果渐渐放大,划到下一张时候前一张用动画渐渐还原原来大小----先上个效果图,没有找到一样大小 的图就用喷笔喷了点,希望大伙原谅,咱看效果 (很多童鞋说没效果,这里提下,压缩包里是用的setOnItemSelectedListener事件,我这里是给机顶盒用的:也就是键盘加遥控器,要想有点击事件在代码添加个setOnClickListener事件代码跟setOnItemSelectedListener代码一样)

android gridview 动画效果,android中GridView实现点击查看更多功能示例

首先来看一下效果图; 先说一下我的需求:查看群成员,如果超过15人则全部显示,如果大于15人则先加载15人,其余的不显示,点击查看更多则加载全部。再来说一下我实现的逻辑:首先呢要判断群成员的人数,如果小于或者等于15就用GridView加载全部数据,隐藏查看更多的按钮。如果大于15人,则显示加载更多的按钮,先加载15条数据,其余的不加载,点击按钮之后获取全部数据放到自己写好的adapter里然后...

weixin_39765625的博客 268

Android可拖拽的GridView,item交换动画效果

Android 可拖拽的GridView,item的实时交互,已经具有交换动画效果,项目详情http://blog.youkuaiyun.com/xiaanming/article/details/17718579

电视开发GridView的Item放大动画、列表循环滚动和焦点移动动画另一种写法

GridView的Item放大动画、列表循环滚动和焦点移动动画另一种写法,使用相对布局写一个imageview和gridview重叠,然后设定imageview的大小和坐标,根据GridView的焦点移动而改变imageview的坐标;列表循环和放大里面都有注释。

**让网格视图动起来——探索AnimatedGridView的魅力**

让网格视图动起来——探索AnimatedGridView的魅力 AnimatedGridViewA simple library which adds some basic animation if you delete fields. There's also a HeaderGridView if you need such a view for your projects :D项目地址:h...

gitblog_00002的博客 312

Appsflyer S2S事件上报实战:从参数获取到避坑指南(附Firebase对比)

本文详细解析了Appsflyer S2S事件上报的实战技巧,包括核心参数获取、测试环境搭建、生产环境最佳实践以及高级场景处理。通过对比Firebase的事件上报机制,帮助开发者高效避坑并优化数据上报流程,提升应用分析与营销效果。

egg99的博客 884

Android GridView实现动画效果实现代码

Android GridView实现动画效果 项目中用到的一些动画,GridView的Item依次从屏幕外飞入到相应位置,附上相关代码: MainActivity.Java ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

丿灬安之若死 1086

Comsol有限元网格剖分实战:从基础操作到高效仿真技巧

本文系统介绍了COMSOL有限元网格剖分的核心实战技巧。从基础的物理场控制与用户控制网格选择,到三角形、四边形、四面体等网格单元类型的适用场景,再到扫掠网格、边界层网格与复制网格等高效剖分方法,最后讲解了网格质量评估与几何预处理的关键步骤。旨在帮助用户掌握从自动到手动、从基础到高效的网格剖分艺术,实现仿真精度与计算效率的最佳平衡。

j7k8l的博客 375

深度学习与神经网络有什么区别

人工神经网络(ArtificialNeuralNetwork,即ANN)是从信息处理角度对人脑神经元网络进行抽象,是20世纪80年代以来人工智能领域兴起的研究热点,其本质是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,在模式识别、智能机器人、自动控制、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。...

super67269的博客 8487

如何使用GridLayoutAnimation实现gridView加载动画

在本篇博客中,我将使用java代码加载GridLayoutAnimationController来实现GridView的加载动画

朱玉强的博客 1528

保姆级教程:将YOLOv8模型封装成Docker镜像,集成到CVAT实现自动标注

本文提供了一份详细的保姆级教程,指导如何将YOLOv8模型封装成Docker镜像并集成到CVAT平台,实现自动化标注。通过环境配置、模型服务化封装、Docker镜像构建与优化、CVAT平台集成等步骤,帮助开发者高效完成计算机视觉项目的自动标注工作流,显著提升标注效率。

weixin_28692817的博客 412

QML学习一、GridView的使用和增加添加动画、删除动画

一、效果预览一、效果预览二、源码分享三、源码解析。

本博客分享软硬件一体化开发实战。硬件涵盖 PCB 设计、STM32 等 MCU 底层开发;软件包含 C++、Rust,Qt/QML、PyQt、Slint、TouchGFX、LVGL 各类 GUI 框架。方便软硬件开发者查阅学习。欢迎关注! 1323

计算机网络简答题

协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及发送接收报文以及其他事件需要采取的操作。为。

m0_61636632的博客 1699

rv1126如何切换720p和1080p

切换720p和1080p可以使用modetest,但是需要将这两种模式都添加到connector中去 添加一个新的mode到connector中去,其实内核中已经有相关接口了,需要做一些小改动。 1.不采用设备树的方式去配置,将720p和1080p的timing参数配置放在数组中。 2.这里的printer和设备树中的.compatible = "printer"一致。 3.将其添加到connector中去 static int panel_simple_get_fixed_modes(struct

weixin_42097108的博客 863

ScrollView中使用ListView、GridView以及展开、收缩动画

ScrollView中使用ListView、GridView以及展开、收缩动画

u014620028的专栏 991

微观交通流仿真软件:SUMO (Simulation of Urban MObility)_(8).仿真场景创建与编辑

总结文件()包含了仿真过程中的总体统计信息,如车辆生成数、平均速度等。加载总结文件使用Python的提取关键信息通过以上步骤,可以使用SUMO及其相关工具和库创建和编辑交通仿真场景。无论是手动创建、使用工具转换现有数据,还是通过Python脚本自动生成,SUMO都提供了丰富的功能来满足不同需求。此外,Traci库允许在仿真过程中动态调整交通场景,从而实现更精细的控制和优化。最后,通过对输出文件的分析,可以评估仿真结果并进行进一步的改进。

kkchenjj的博客 1266

Android GridView分页滑动之item动画讲解

在《Android 仿美团GridView分页滑动,类似直播礼物列表效果》去看看中提到过GridView动画,在这里针对动画来简单讲解一下 效果图: 这里主要来说说上图的动画,使用XML和几句代码实现的一个效果(这个效果是我在淘宝的一个斐乐官方店铺看到的) Property Animation(属性动画) Android属性动画之ValueAnimator、Android属性动画之O...

shenggaofei的博客 896

DO-297标准详解:IMA系统开发与认证指南

DO-297的前言部分为读者提供了本指南的概述,说明了该标准的编写背景、主要目标、目标受众以及该文件在开发和认证集成模块化航空电子(IMA,Integrated Modular Avionics)系统中的作用。作为现代航空电子架构的重要组成部分,IMA系统大幅度简化了航空电子系统的硬件配置,增加了灵活性并降低了成本。因此,DO-297成为确保IMA系统开发、集成和认证符合适航标准的核心文件。在现代航空领域,系统复杂性逐渐增加,传统上各子系统独立运行的方式已经不适应多任务、多功能的需求。

qq_41854911的博客 1583

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

GridViewActivity gridview显示时的动画

package com.duguang.baseanimation.ui.listivew.listviews; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bi

认真梳理 414

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

qml GridView伸展与收缩动画

import QtQuick 2.12 import QtQuick.Window 2.12 Window { visible: true width: 640 height: 480 title: qsTr("GridView") ListModel { id: gridViewModel ListElement{na...

chenyijun的专栏 1360

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

动画化GridView教程

动画化GridView教程 项目介绍 动画化GridView是由Mike Penz开发的一个简单库,它扩展了Android的标准GridView组件,增添了基础的删除行动画功能。此外,该库还包含了HeaderGridView,类似于ListView的功能,适用于那些在项目中需要带有头部的网格视图场景。此项目最初发布于GitHub,并采用了Apache-2.0许可协议,不过请注意,仓库已被归档,截至...

gitblog_00503的博客 633

android gridview选中,android的GridView选中的时候放大

上代码packagecom.aisat.realtek.gridviewtest;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.Grid...

weixin_39818727的博客 224

Android控制gridview或listview中子控件的动画LayoutAnimation

LayoutAnimation是控制gridview和listview中item的动画## 标题 1.属性: LayoutAnimation从布局写动画:xml LayoutAnimation从java代码写动画:LayoutAnimationController 2.写法: 从布局写的话,直接在res文件中新建anim文件再在里面新建动画的xml文件,然后在相应的gridview或listvie...

javaargs的博客 334
上一篇: 帧动画
下一篇: 在ListView上使用动画
Android人生
博客等级 码龄14年 14粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值